25 #ifndef LSST_DAF_BASE_DATETIME_H 26 #define LSST_DAF_BASE_DATETIME_H 54 namespace serialization {
109 DateTime(
int year,
int month,
int day,
int hr,
int min,
int sec,
Timescale scale=TAI);
139 long long nsecs(
Timescale scale=TAI)
const;
181 struct timespec timespec(
Timescale scale) const;
191 struct timeval timeval(
Timescale scale) const;
196 bool isValid()
const {
return _nsecs != DateTime::invalid_nsecs; };
198 bool operator==(
DateTime const& rhs)
const;
214 static void initializeLeapSeconds(
std::string const& leapString);
220 void _assertValid()
const {
260 void setNsecsFromMjd(
double mjd,
Timescale scale);
269 void setNsecsFromJd(
double jd,
Timescale scale);
278 void setNsecsFromEpoch(
double epoch,
Timescale scale);
280 friend class boost::serialization::access;
288 template <
class Archive>
void serialize(Archive ar,
int const version) {
Class for handling dates/times, including MJD, UTC, and TAI.
#define LSST_EXCEPT(type,...)
bool isValid() const
Is this date valid?