Isis 3 Programmer Reference
iTime.h
1 #ifndef Time_h
2 #define Time_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <string>
11 
12 #include <SpiceUsr.h>
13 #include <SpiceZfc.h>
14 #include <SpiceZmc.h>
15 
16 #include "FileName.h"
17 
18 class QString;
19 
20 namespace Isis {
21 
65  class iTime {
66  public:
67  // constructor
68  iTime();
69  iTime(const QString &time);
70 
76  iTime(const double time) {
77  if(!p_lpInitialized)
79 
80  p_et = time;
81  }
82 
83  // destructor
84  ~iTime() {};
85 
86  void operator=(const QString &time);
87  void operator=(const char *time);
88  void operator=(const double time);
89 
90  bool operator>=(const iTime &time);
91  bool operator<=(const iTime &time);
92  bool operator>(const iTime &time);
93  bool operator<(const iTime &time);
94  bool operator!=(const iTime &time);
95  bool operator==(const iTime &time);
96 
97  iTime operator +(const double &secondsToAdd) const;
98  void operator +=(const double &secondsToAdd);
99  friend iTime operator +(const double &secondsToAdd, iTime time);
100 
101  iTime operator -(const double &secondsToSubtract) const;
102  double operator -(const iTime &iTimeToSubtract) const;
103  void operator -=(const double &secondsToSubtract);
104  friend iTime operator -(const double &secondsToSubtract, iTime time);
105 
106  // Return the year
107  QString YearString() const;
108  int Year() const;
109  QString MonthString() const;
110  int Month() const;
111  QString DayString() const;
112  int Day() const;
113  QString HourString() const;
114  int Hour() const;
115  QString MinuteString() const;
116  int Minute() const;
117  QString SecondString(int precision=8) const;
118  double Second() const;
119  QString DayOfYearString() const;
120  int DayOfYear() const;
121  QString EtString() const;
122 
126  double Et() const {
127  return p_et;
128  }
129 
130  QString UTC(int precision=8) const;
131  static QString CurrentGMT();
132  static QString CurrentLocalTime();
133 
134  void setEt(double et);
135  void setUtc(QString utcString);
136 
137  private:
138  double p_et;
141  void LoadLeapSecondKernel();
142 
143  static bool p_lpInitialized;
144  };
145 };
146 
147 #endif
Isis::iTime::iTime
iTime()
Constructs an empty iTime object.
Definition: iTime.cpp:32
Isis::iTime::operator>
bool operator>(const iTime &time)
Compare two iTime objects for greater than.
Definition: iTime.cpp:127
Isis::iTime::operator!=
bool operator!=(const iTime &time)
Compare two iTime objects for inequality.
Definition: iTime.cpp:150
Isis::iTime
Parse and return pieces of a time string.
Definition: iTime.h:65
Isis::iTime::operator<=
bool operator<=(const iTime &time)
Compare two iTime objects for less than or equal.
Definition: iTime.cpp:116
Isis::iTime::EtString
QString EtString() const
Returns the ephemeris time (TDB) representation of the time as a string.
Definition: iTime.cpp:396
Isis::iTime::operator<
bool operator<(const iTime &time)
Compare two iTime objects for less than.
Definition: iTime.cpp:139
Isis::iTime::Minute
int Minute() const
Returns the minute portion of the time as an int.
Definition: iTime.cpp:325
Isis::iTime::CurrentLocalTime
static QString CurrentLocalTime()
Returns the current local time This time is taken directly from the system clock, so if the system cl...
Definition: iTime.cpp:513
Isis::iTime::operator==
bool operator==(const iTime &time)
Compare two iTime objects for equality.
Definition: iTime.cpp:161
Isis::iTime::Month
int Month() const
Returns the month portion of the time as an int.
Definition: iTime.cpp:253
Isis::iTime::SecondString
QString SecondString(int precision=8) const
Returns the second portion of the time as a string.
Definition: iTime.cpp:340
Isis::iTime::Et
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
Definition: iTime.h:126
Isis::iTime::iTime
iTime(const double time)
Constructs a iTime object and initializes it to the time from the argument.
Definition: iTime.h:76
Isis::iTime::Year
int Year() const
Returns the year portion of the time as an int.
Definition: iTime.cpp:229
Isis::iTime::CurrentGMT
static QString CurrentGMT()
Returns the current Greenwich Mean iTime The time is based on the system time, so it is only as accur...
Definition: iTime.cpp:497
Isis::iTime::MonthString
QString MonthString() const
Returns the month portion of the time as a string.
Definition: iTime.cpp:244
Isis::iTime::LoadLeapSecondKernel
void LoadLeapSecondKernel()
Uses the Naif routines to load the most current leap second kernel.
Definition: iTime.cpp:471
Isis::iTime::MinuteString
QString MinuteString() const
Returns the minute portion of the time as a string.
Definition: iTime.cpp:316
Isis::iTime::DayString
QString DayString() const
Returns the dat portion of the time as a string.
Definition: iTime.cpp:268
Isis::iTime::Hour
int Hour() const
Returns the hour portion of the time as an int.
Definition: iTime.cpp:301
Isis::iTime::Second
double Second() const
Returns the second portion of the time as a double.
Definition: iTime.cpp:356
Isis::iTime::p_et
double p_et
The ephemeris representaion of the original string passed into the constructor or the operator= membe...
Definition: iTime.h:138
Isis::iTime::Day
int Day() const
Returns the day portion of the time as an int.
Definition: iTime.cpp:277
Isis::iTime::DayOfYearString
QString DayOfYearString() const
Returns the day of year portion of the time as a string.
Definition: iTime.cpp:371
Isis::iTime::HourString
QString HourString() const
Returns the hour portion of the time as a string.
Definition: iTime.cpp:292
Isis::iTime::operator=
void operator=(const QString &time)
Changes the value of the iTime object.
Definition: iTime.cpp:66
Isis::iTime::YearString
QString YearString() const
Returns the year portion of the time as a string.
Definition: iTime.cpp:220
Isis::iTime::UTC
QString UTC(int precision=8) const
Returns the internally stored time, formatted as a UTC time.
Definition: iTime.cpp:405
Isis::iTime::operator>=
bool operator>=(const iTime &time)
Compare two iTime objects for greater than or equal.
Definition: iTime.cpp:105
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::iTime::DayOfYear
int DayOfYear() const
Returns the day of year portion of the time as an int.
Definition: iTime.cpp:380