File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
Isis::iTime Class Reference

Parse and return pieces of a time string. More...

#include <iTime.h>

Collaboration diagram for Isis::iTime:
Collaboration graph

Public Member Functions

 iTime ()
 Constructs an empty iTime object. More...
 
 iTime (const QString &time)
 Constructs a iTime object and initializes it to the time from the argument. More...
 
 iTime (const double time)
 Constructs a iTime object and initializes it to the time from the argument. More...
 
void operator= (const QString &time)
 Changes the value of the iTime object. More...
 
void operator= (const char *time)
 
void operator= (const double time)
 
bool operator>= (const iTime &time)
 Compare two iTime objects for greater than or equal. More...
 
bool operator<= (const iTime &time)
 Compare two iTime objects for less than or equal. More...
 
bool operator> (const iTime &time)
 Compare two iTime objects for greater than. More...
 
bool operator< (const iTime &time)
 Compare two iTime objects for less than. More...
 
bool operator!= (const iTime &time)
 Compare two iTime objects for inequality. More...
 
bool operator== (const iTime &time)
 Compare two iTime objects for equality. More...
 
iTime operator+ (const double &secondsToAdd) const
 
void operator+= (const double &secondsToAdd)
 
iTime operator- (const double &secondsToSubtract) const
 
double operator- (const iTime &iTimeToSubtract) const
 
void operator-= (const double &secondsToSubtract)
 
QString YearString () const
 Returns the year portion of the time as a string. More...
 
int Year () const
 Returns the year portion of the time as an int. More...
 
QString MonthString () const
 Returns the month portion of the time as a string. More...
 
int Month () const
 Returns the month portion of the time as an int. More...
 
QString DayString () const
 Returns the dat portion of the time as a string. More...
 
int Day () const
 Returns the day portion of the time as an int. More...
 
QString HourString () const
 Returns the hour portion of the time as a string. More...
 
int Hour () const
 Returns the hour portion of the time as an int. More...
 
QString MinuteString () const
 Returns the minute portion of the time as a string. More...
 
int Minute () const
 Returns the minute portion of the time as an int. More...
 
QString SecondString (int precision=8) const
 Returns the second portion of the time as a string. More...
 
double Second () const
 Returns the second portion of the time as a double. More...
 
QString DayOfYearString () const
 Returns the day of year portion of the time as a string. More...
 
int DayOfYear () const
 Returns the day of year portion of the time as an int. More...
 
QString EtString () const
 Returns the ephemeris time (TDB) representation of the time as a string. More...
 
double Et () const
 Returns the ephemeris time (TDB) representation of the time as a double. More...
 
QString UTC (int precision=8) const
 Returns the internally stored time, formatted as a UTC time. More...
 
void setEt (double et)
 
void setUtc (QString utcString)
 

Static Public Member Functions

static QString CurrentGMT ()
 Returns the current Greenwich Mean iTime The time is based on the system time, so it is only as accurate as the local system clock. More...
 
static QString CurrentLocalTime ()
 Returns the current local time This time is taken directly from the system clock, so if the system clock is off, this will be, too. More...
 

Private Member Functions

void LoadLeapSecondKernel ()
 Uses the Naif routines to load the most current leap second kernel. More...
 

Private Attributes

double p_et
 The ephemeris representaion of the original string passed into the constructor or the operator= member. More...
 

Static Private Attributes

static bool p_lpInitialized = false
 

Friends

iTime operator+ (const double &secondsToAdd, iTime time)
 
iTime operator- (const double &secondsToSubtract, iTime time)
 

Detailed Description

Parse and return pieces of a time string.

This class parses a date/time string into individual components. The input time string can be in a variety of formats (see the NAIF routine str2et_c). The components and different representation can then be returned using the member functions.

Author
2003-10-24 Stuart Sides
History:
2003-11-05 Stuart Sides - Fixed error in documentation
History:
2003-12-03 Stuart Sides - Added comparison operators for (>=, <=, >, <, ==, and !=)
History:
2003-12-09 Stuart Sides - Modified so all iTime objects will share the same leap second kernel. This means the leapsecond kernel will be loaded once and never unloaded. Other objects which use the leapsecond kernel should not unload it either.
History:
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
History:
2006-03-31 Elizabeth Miller - added UTC method
History:
2006-10-02 Brendan George - Added CurrentLocalTime and CurrentGMT methods
History:
2007-12-07 Kris Becker - Modifed the SecondString() method to always return fixed notation for fractions of a second of no more than 8 digits after the decimal point. It was returning scientific notation causing parsing errors (in NAIF, PostgreSQL TIMESTAMP fields, etc...)
History:
2011-05-25 Janet Barrett and Steven Lambright - Added setUtc, setEt and addition operators
History:
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
History:
2018-03-15 Adam Goins - Removed deprecated function iTime::UnloadLeapSecondKernel(). Fixes #5325.
History:
2019-06-15 Kristin Berry - Added a precision option to UTC to specify the precision of the output value. The default (old) precision is used if no argument is specified.
History:
2021-02-17 Jesse Mapel - Added the ability to pass ISO 8601 basic format time strings to setUtc.

Definition at line 65 of file iTime.h.

Constructor & Destructor Documentation

◆ iTime() [1/3]

Isis::iTime::iTime ( )

Constructs an empty iTime object.

Definition at line 32 of file iTime.cpp.

◆ iTime() [2/3]

Isis::iTime::iTime ( const QString &  time)

Constructs a iTime object and initializes it to the time from the argument.

Parameters
timeA time string formatted in standard UTC or similar format. Example:"2000/12/31 23:59:01.6789" or "2000-12-31T23:59:01.6789"

Definition at line 42 of file iTime.cpp.

◆ iTime() [3/3]

Isis::iTime::iTime ( const double  time)
inline

Constructs a iTime object and initializes it to the time from the argument.

Parameters
timeAn ephemeris time (ET).

Definition at line 76 of file iTime.h.

References LoadLeapSecondKernel(), and p_et.

Member Function Documentation

◆ CurrentGMT()

QString Isis::iTime::CurrentGMT ( )
static

Returns the current Greenwich Mean iTime The time is based on the system time, so it is only as accurate as the local system clock.

Returns
QString The Current GMT

Definition at line 497 of file iTime.cpp.

◆ CurrentLocalTime()

QString Isis::iTime::CurrentLocalTime ( )
static

Returns the current local time This time is taken directly from the system clock, so if the system clock is off, this will be, too.

Returns
QString The cutrrent local time

Definition at line 513 of file iTime.cpp.

Referenced by Isis::JigsawRunWidget::bundleFinished(), Isis::BundleAdjust::errorPropagation(), and Isis::BundleSolutionInfo::outputHeader().

◆ Day()

int Isis::iTime::Day ( ) const

Returns the day portion of the time as an int.

Returns
int

Definition at line 277 of file iTime.cpp.

References Isis::IString::ToInteger().

◆ DayOfYear()

int Isis::iTime::DayOfYear ( ) const

Returns the day of year portion of the time as an int.

Returns
int

Definition at line 380 of file iTime.cpp.

References Isis::IString::ToInteger().

◆ DayOfYearString()

QString Isis::iTime::DayOfYearString ( ) const

Returns the day of year portion of the time as a string.

Returns
string

Definition at line 371 of file iTime.cpp.

References Isis::toString().

◆ DayString()

QString Isis::iTime::DayString ( ) const

Returns the dat portion of the time as a string.

Returns
string

Definition at line 268 of file iTime.cpp.

References Isis::toString().

◆ Et()

double Isis::iTime::Et ( ) const
inline

Returns the ephemeris time (TDB) representation of the time as a double.

Definition at line 126 of file iTime.h.

References p_et.

Referenced by Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::ClipperNacRollingShutterCamera::ClipperNacRollingShutterCamera(), Isis::ClipperPushBroomCamera::ClipperPushBroomCamera(), Isis::ClipperWacFcCamera::ClipperWacFcCamera(), Isis::RadarSlantRangeMap::ComputeA(), Isis::Spice::computeSolarLongitude(), Isis::Spice::createCache(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::VimsGroundMap::Init(), Isis::VimsSkyMap::Init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::DawnVirCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readSCET(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), Isis::Spice::setTime(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::VikingCamera::ShutterOpenCloseTimes(), Isis::VoyagerCamera::ShutterOpenCloseTimes(), Isis::SsiCamera::SsiCamera(), Isis::Camera::StartEndEphemerisTimes(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::AdvancedTrackTool::updateRow(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().

◆ EtString()

QString Isis::iTime::EtString ( ) const

Returns the ephemeris time (TDB) representation of the time as a string.

See the Naif documentation "time.req" for more information.

Returns
string

Definition at line 396 of file iTime.cpp.

References Isis::toString().

◆ Hour()

int Isis::iTime::Hour ( ) const

Returns the hour portion of the time as an int.

Returns
int

Definition at line 301 of file iTime.cpp.

References Isis::IString::ToInteger().

◆ HourString()

QString Isis::iTime::HourString ( ) const

Returns the hour portion of the time as a string.

Returns
string

Definition at line 292 of file iTime.cpp.

References Isis::toString().

◆ LoadLeapSecondKernel()

void Isis::iTime::LoadLeapSecondKernel ( )
private

Uses the Naif routines to load the most current leap second kernel.

Definition at line 471 of file iTime.cpp.

References Isis::FileName::expanded(), Isis::PvlObject::findGroup(), and Isis::FileName::highestVersion().

Referenced by iTime().

◆ Minute()

int Isis::iTime::Minute ( ) const

Returns the minute portion of the time as an int.

Returns
int

Definition at line 325 of file iTime.cpp.

References Isis::IString::ToInteger().

◆ MinuteString()

QString Isis::iTime::MinuteString ( ) const

Returns the minute portion of the time as a string.

Returns
string

Definition at line 316 of file iTime.cpp.

References Isis::toString().

◆ Month()

int Isis::iTime::Month ( ) const

Returns the month portion of the time as an int.

Returns
int

Definition at line 253 of file iTime.cpp.

References Isis::IString::ToInteger().

◆ MonthString()

QString Isis::iTime::MonthString ( ) const

Returns the month portion of the time as a string.

Returns
string

Definition at line 244 of file iTime.cpp.

References Isis::toString().

◆ operator!=()

bool Isis::iTime::operator!= ( const iTime time)

Compare two iTime objects for inequality.

Parameters
timeThe iTime object to be compared to "this"
Returns
bool

Definition at line 150 of file iTime.cpp.

References p_et.

◆ operator<()

bool Isis::iTime::operator< ( const iTime time)

Compare two iTime objects for less than.

Parameters
timeThe iTime object to be compared to "this"
Returns
bool

Definition at line 139 of file iTime.cpp.

References p_et.

◆ operator<=()

bool Isis::iTime::operator<= ( const iTime time)

Compare two iTime objects for less than or equal.

Parameters
timeThe iTime object to be compared to "this"
Returns
bool

Definition at line 116 of file iTime.cpp.

References p_et.

◆ operator=()

void Isis::iTime::operator= ( const QString &  time)

Changes the value of the iTime object.

Parameters
timeA time string formatted in standard UTC or similar format. Example:"2000/12/31 23:59:01.6789" or "2000-12-31T23:59:01.6789"

Definition at line 66 of file iTime.cpp.

◆ operator==()

bool Isis::iTime::operator== ( const iTime time)

Compare two iTime objects for equality.

Parameters
timeThe iTime object to be compared to "this"
Returns
bool

Definition at line 161 of file iTime.cpp.

References p_et.

◆ operator>()

bool Isis::iTime::operator> ( const iTime time)

Compare two iTime objects for greater than.

Parameters
timeThe iTime object to be compared to "this"
Returns
bool

Definition at line 127 of file iTime.cpp.

References p_et.

◆ operator>=()

bool Isis::iTime::operator>= ( const iTime time)

Compare two iTime objects for greater than or equal.

Parameters
timeThe iTime object to be compared to "this"
Returns
bool

Definition at line 105 of file iTime.cpp.

References p_et.

◆ Second()

double Isis::iTime::Second ( ) const

Returns the second portion of the time as a double.

Returns
double

Definition at line 356 of file iTime.cpp.

References Isis::IString::ToDouble().

◆ SecondString()

QString Isis::iTime::SecondString ( int  precision = 8) const

Returns the second portion of the time as a string.

Returns
string

Definition at line 340 of file iTime.cpp.

◆ UTC()

QString Isis::iTime::UTC ( int  precision = 8) const

Returns the internally stored time, formatted as a UTC time.

Returns
string The internalized time, in UTC format

Definition at line 405 of file iTime.cpp.

Referenced by Isis::AdvancedTrackTool::updateRow().

◆ Year()

int Isis::iTime::Year ( ) const

Returns the year portion of the time as an int.

Returns
int

Definition at line 229 of file iTime.cpp.

References Isis::IString::ToInteger().

◆ YearString()

QString Isis::iTime::YearString ( ) const

Returns the year portion of the time as a string.

Returns
string

Definition at line 220 of file iTime.cpp.

References Isis::toString().

Member Data Documentation

◆ p_et

double Isis::iTime::p_et
private

The ephemeris representaion of the original string passed into the constructor or the operator= member.

Definition at line 138 of file iTime.h.

Referenced by Et(), iTime(), operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().


The documentation for this class was generated from the following files:

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:24:18