summaryrefslogtreecommitdiff
path: root/indra/llcommon/lldate.h
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-05-14 21:02:28 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-05-14 21:02:28 -0400
commit094dcc07f8c1d90ae723dbe60eddacb90a09eae8 (patch)
treee750942e5f22ed677b543bd49509c2a7cdc5ce56 /indra/llcommon/lldate.h
parentd4043d3b011c32eb503c43c551872f9c24d7344f (diff)
parent38c2a5bde985a6a8a96d912d432f8bdf7e5b60be (diff)
Merge DRTVWR-591-maint-X to main on promotion of secondlife/viewer #705: Maintenance X
Diffstat (limited to 'indra/llcommon/lldate.h')
-rw-r--r--indra/llcommon/lldate.h192
1 files changed, 96 insertions, 96 deletions
diff --git a/indra/llcommon/lldate.h b/indra/llcommon/lldate.h
index be2cd2d051..81f2dd0d1c 100644
--- a/indra/llcommon/lldate.h
+++ b/indra/llcommon/lldate.h
@@ -1,4 +1,4 @@
-/**
+/**
* @file lldate.h
* @author Phoenix
* @date 2006-02-05
@@ -7,21 +7,21 @@
* $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -35,7 +35,7 @@
#include "stdtypes.h"
#include "llunits.h"
-/**
+/**
* @class LLDate
* @brief This class represents a particular point in time in UTC.
*
@@ -44,110 +44,110 @@
class LL_COMMON_API LLDate
{
public:
- /**
- * @brief Construct a date equal to epoch.
- */
- LLDate();
-
- /**
- * @brief Construct a date equal to the source date.
- */
- LLDate(const LLDate& date);
-
- /**
- * @brief Construct a date from a seconds since epoch value.
- *
- * @param seconds_since_epoch The number of seconds since UTC epoch.
- */
- LLDate(F64SecondsImplicit seconds_since_epoch);
-
- /**
- * @brief Construct a date from a string representation
- *
- * The date is constructed in the <code>fromString()</code>
- * method. See that method for details of supported formats.
- * If that method fails to parse the date, the date is set to epoch.
- * @param iso8601_date An iso-8601 compatible representation of the date.
- */
- LLDate(const std::string& iso8601_date);
-
- /**
- * @brief Return the date as in ISO-8601 string.
- *
- * @return A string representation of the date.
- */
- std::string asString() const;
- std::string asRFC1123() const;
- void toStream(std::ostream&) const;
- bool split(S32 *year, S32 *month = NULL, S32 *day = NULL, S32 *hour = NULL, S32 *min = NULL, S32 *sec = NULL) const;
- std::string toHTTPDateString (std::string fmt) const;
- static std::string toHTTPDateString (tm * gmt, std::string fmt);
- /**
- * @brief Set the date from an ISO-8601 string.
- *
- * The parser only supports strings conforming to
- * YYYYF-MM-DDTHH:MM:SS.FFZ where Y is year, M is month, D is day,
- * H is hour, M is minute, S is second, F is sub-second, and all
- * other characters are literal.
- * If this method fails to parse the date, the previous date is
- * retained.
- * @param iso8601_date An iso-8601 compatible representation of the date.
- * @return Returns true if the string was successfully parsed.
- */
- bool fromString(const std::string& iso8601_date);
- bool fromStream(std::istream&);
- bool fromYMDHMS(S32 year, S32 month = 1, S32 day = 0, S32 hour = 0, S32 min = 0, S32 sec = 0);
-
- /**
- * @brief Return the date in seconds since epoch.
- *
- * @return The number of seconds since epoch UTC.
- */
- F64 secondsSinceEpoch() const;
-
- /**
- * @brief Set the date in seconds since epoch.
- *
- * @param seconds The number of seconds since epoch UTC.
- */
- void secondsSinceEpoch(F64 seconds);
-
+ /**
+ * @brief Construct a date equal to epoch.
+ */
+ LLDate();
+
+ /**
+ * @brief Construct a date equal to the source date.
+ */
+ LLDate(const LLDate& date);
+
+ /**
+ * @brief Construct a date from a seconds since epoch value.
+ *
+ * @param seconds_since_epoch The number of seconds since UTC epoch.
+ */
+ LLDate(F64SecondsImplicit seconds_since_epoch);
+
+ /**
+ * @brief Construct a date from a string representation
+ *
+ * The date is constructed in the <code>fromString()</code>
+ * method. See that method for details of supported formats.
+ * If that method fails to parse the date, the date is set to epoch.
+ * @param iso8601_date An iso-8601 compatible representation of the date.
+ */
+ LLDate(const std::string& iso8601_date);
+
+ /**
+ * @brief Return the date as in ISO-8601 string.
+ *
+ * @return A string representation of the date.
+ */
+ std::string asString() const;
+ std::string asRFC1123() const;
+ void toStream(std::ostream&) const;
+ bool split(S32 *year, S32 *month = NULL, S32 *day = NULL, S32 *hour = NULL, S32 *min = NULL, S32 *sec = NULL) const;
+ std::string toHTTPDateString (std::string fmt) const;
+ static std::string toHTTPDateString (tm * gmt, std::string fmt);
+ /**
+ * @brief Set the date from an ISO-8601 string.
+ *
+ * The parser only supports strings conforming to
+ * YYYYF-MM-DDTHH:MM:SS.FFZ where Y is year, M is month, D is day,
+ * H is hour, M is minute, S is second, F is sub-second, and all
+ * other characters are literal.
+ * If this method fails to parse the date, the previous date is
+ * retained.
+ * @param iso8601_date An iso-8601 compatible representation of the date.
+ * @return Returns true if the string was successfully parsed.
+ */
+ bool fromString(const std::string& iso8601_date);
+ bool fromStream(std::istream&);
+ bool fromYMDHMS(S32 year, S32 month = 1, S32 day = 0, S32 hour = 0, S32 min = 0, S32 sec = 0);
+
+ /**
+ * @brief Return the date in seconds since epoch.
+ *
+ * @return The number of seconds since epoch UTC.
+ */
+ F64 secondsSinceEpoch() const;
+
+ /**
+ * @brief Set the date in seconds since epoch.
+ *
+ * @param seconds The number of seconds since epoch UTC.
+ */
+ void secondsSinceEpoch(F64 seconds);
+
/**
* @brief Create an LLDate object set to the current time.
- *
- * @return The number of seconds since epoch UTC.
- */
+ *
+ * @return The number of seconds since epoch UTC.
+ */
static LLDate now();
- /**
- * @brief Compare dates using operator< so we can order them using STL.
- *
- * @param rhs -- the right hand side of the comparison operator
- */
- bool operator<(const LLDate& rhs) const;
-
- /**
- * @brief Remaining comparison operators in terms of operator<
+ /**
+ * @brief Compare dates using operator< so we can order them using STL.
+ *
+ * @param rhs -- the right hand side of the comparison operator
+ */
+ bool operator<(const LLDate& rhs) const;
+
+ /**
+ * @brief Remaining comparison operators in terms of operator<
* This conforms to the expectation of STL.
- *
- * @param rhs -- the right hand side of the comparison operator
- */
+ *
+ * @param rhs -- the right hand side of the comparison operator
+ */
bool operator>(const LLDate& rhs) const { return rhs < *this; }
bool operator<=(const LLDate& rhs) const { return !(rhs < *this); }
bool operator>=(const LLDate& rhs) const { return !(*this < rhs); }
bool operator!=(const LLDate& rhs) const { return (*this < rhs) || (rhs < *this); }
bool operator==(const LLDate& rhs) const { return !(*this != rhs); }
- /**
- * @brief Compare to epoch UTC.
- */
+ /**
+ * @brief Compare to epoch UTC.
+ */
+
+ bool isNull() const { return mSecondsSinceEpoch == 0.0; }
+ bool notNull() const { return mSecondsSinceEpoch != 0.0; }
- bool isNull() const { return mSecondsSinceEpoch == 0.0; }
- bool notNull() const { return mSecondsSinceEpoch != 0.0; }
-
private:
- F64 mSecondsSinceEpoch;
+ F64 mSecondsSinceEpoch;
};
// Helper function to stream out a date