spacepy.time.Ticktock¶
-
class
spacepy.time.
Ticktock
(data, dtype)[source]¶ Ticktock class holding various time coordinate systems (TAI, UTC, ISO, JD, MJD, UNX, RDT, CDF, DOY, eDOY)
Possible input data types: ISO: ISO standard format like ‘2002-02-25T12:20:30’ UTC: datetime object with UTC time TAI: elapsed seconds since 1958/1/1 (includes leap seconds) UNX: elapsed seconds since 1970/1/1 (all days have 86400 secs sometimes unequal lenghts) JD: Julian days elapsed MJD: Modified Julian days RDT: Rata Die days elapsed since 1/1/1 CDF: CDF epoch: milliseconds since 1/1/0000
Possible output data types: All those listed above, plus DOY: Integer day of year, starts with day 1 eDOY: Fractional day of year, starts at day 0
Parameters: data : array_like (int, datetime, float, string)
time stamp
dtype : string {CDF, ISO, UTC, TAI, UNX, JD, MJD, RDT} or function
data type for data, if a function it must convert input time format to Python datetime
Returns: out : Ticktock
instance with self.data, self.dtype, self.UTC etc
Examples
>>> x = Ticktock([2452331.0142361112, 2452332.0142361112], 'JD') >>> x.ISO dmarray(['2002-02-25T12:20:30', '2002-02-26T12:20:30'], dtype='|S19') >>> x.DOY # Day of year dmarray([ 56., 57.]) >>> y = Ticktock(['01-01-2013', '20-03-2013'], lambda x: datetime.datetime.strptime(x, '%d-%m-%Y')) >>> y.UTC dmarray([2013-01-01 00:00:00, 2013-03-20 00:00:00], dtype=object) >>> y.DOY # Day of year dmarray([ 1., 79.])
append
(other)Will be called when another Ticktock instance has to be appended to the current one argsort
()This will return the indices that would sort the Ticktock values convert
(dtype)convert a Ticktock instance into a new time coordinate system provided in dtype getCDF
()a.getCDF() or a.CDF getDOY
()a.DOY or a.getDOY() getGPS
()a.GPS or a.getGPS() getISO
()a.ISO or a.getISO() getJD
()a.JD or a.getJD() getMJD
()a.MJD or a.getMJD() getRDT
()a.RDT or a.RDT() getTAI
()a.TAI or a.getTAI() getUNX
()a.UNX or a.getUNX() getUTC
()a.UTC or a.getUTC() geteDOY
()a.eDOY or a.geteDOY() getleapsecs
()a.leaps or a.getleapsecs() isoformat
(b, attrib)This changes the self._isofmt attribute by and subsequently this function will update the ISO attribute. now
()Creates a Ticktock object with the current time, equivalent to datetime.now() sort
()This will sort the Ticktock values in place, if you need a stable sort use kind=’mergesort’ update_items
(b, attrib)After changing the self.data attribute by either __setitem__ or __add__ etc this function will update all other attributes. -
append
(other)[source]¶ Will be called when another Ticktock instance has to be appended to the current one
Parameters: other : Ticktock
other (Ticktock instance)
-
argsort
()[source]¶ This will return the indices that would sort the Ticktock values
Returns: out : list
indices that would sort the Ticktock values
-
convert
(dtype)[source]¶ convert a Ticktock instance into a new time coordinate system provided in dtype
Parameters: dtype : string
data type for new system, possible values are {CDF, ISO, UTC, TAI, UNX, JD, MJD, RDT}
Returns: out : Ticktock
Ticktock instance with new time coordinates
See also
CDF
,ISO
,UTC
Examples
>>> a = Ticktock(['2002-02-02T12:00:00', '2002-02-02T12:00:00'], 'ISO') >>> s = a.convert('TAI') >>> type(s) <class 'time.Ticktock'> >>> s Ticktock( [1391342432 1391342432] ), dtype=TAI
-
getCDF
()[source]¶ a.getCDF() or a.CDF
Return CDF time which is milliseconds since 01-Jan-0000 00:00:00.000. “Year zero” is a convention chosen by NSSDC to measure epoch values. This date is more commonly referred to as 1 BC. Remember that 1 BC was a leap year. The CDF date/time calculations do not take into account the changes to the Gregorian calendar, and cannot be directly converted into Julian date/times.
Returns: out : numpy array
days elapsed since Jan. 1st
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.CDF array([ 6.31798704e+13])
-
getDOY
()[source]¶ a.DOY or a.getDOY()
extract DOY (days since January 1st of given year)
Returns: out : numpy array
day of the year
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.DOY array([ 33])
-
getGPS
()[source]¶ a.GPS or a.getGPS()
return GPS epoch (0000 UT (midnight) on January 6, 1980)
Returns: out : numpy array
elapsed secs since 6Jan1980 (excludes leap secs)
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.GPS array([])
-
getISO
()[source]¶ a.ISO or a.getISO()
convert dtype data into ISO string
Returns: out : list of strings
date in ISO format
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.ISO dmarray(['2002-02-02T12:00:00'])
-
getJD
()[source]¶ a.JD or a.getJD()
convert dtype data into Julian Date (JD)
Returns: out : numpy array
elapsed days since 12:00 January 1, 4713 BC
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.JD array([ 2452308.])
-
getMJD
()[source]¶ a.MJD or a.getMJD()
convert dtype data into MJD (modified Julian date)
Returns: out : numpy array
elapsed days since November 17, 1858 (Julian date was 2,400 000)
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.MJD array([ 52307.5])
-
getRDT
()[source]¶ a.RDT or a.RDT()
convert dtype data into Rata Die (lat.) Time (days since 1/1/0001)
Returns: out : numpy array
elapsed days since 1/1/1
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.RDT array([ 730883.5])
-
getTAI
()[source]¶ a.TAI or a.getTAI()
return TAI (International Atomic Time)
Returns: out : numpy array
elapsed secs since 1958/1/1 (includes leap secs, i.e. all secs have equal lengths)
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.TAI array([1391342432])
-
getUNX
()[source]¶ a.UNX or a.getUNX()
convert dtype data into Unix Time (Posix Time) seconds since 1970-Jan-1 (not counting leap seconds)
Returns: out : numpy array
elapsed secs since 1970/1/1 (not counting leap secs)
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.UNX array([ 1.01265120e+09])
-
getUTC
()[source]¶ a.UTC or a.getUTC()
convert dtype data into UTC object a la datetime()
Returns: out : list of datetime objects
datetime object in UTC time
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.UTC [datetime.datetime(2002, 2, 2, 12, 0)]
-
geteDOY
()[source]¶ a.eDOY or a.geteDOY()
extract eDOY (elapsed days since midnight January 1st of given year)
Returns: out : numpy array
days elapsed since midnight bbedJan. 1st
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.eDOY array([ 32.5])
-
getleapsecs
()[source]¶ a.leaps or a.getleapsecs()
retrieve leapseconds from lookup table, used in getTAI
Returns: out : numpy array
leap seconds
See also
Examples
>>> a = Ticktock('2002-02-02T12:00:00', 'ISO') >>> a.leaps array([32])
-
isoformat
(b, attrib)[source]¶ This changes the self._isofmt attribute by and subsequently this function will update the ISO attribute.
Parameters: fmt : string, optional
-
classmethod
now
()[source]¶ Creates a Ticktock object with the current time, equivalent to datetime.now()
Returns: out : ticktock
Ticktock object with the current time, equivalent to datetime.now()
See also
-
sort
()[source]¶ This will sort the Ticktock values in place, if you need a stable sort use kind=’mergesort’
-
update_items
(b, attrib)[source]¶ After changing the self.data attribute by either __setitem__ or __add__ etc this function will update all other attributes. This function is called automatically in __add__ and __setitem__
Parameters: cls : Ticktock
attrib : string
attribute to update
See also
spacepy.Ticktock.__setitem__
,spacepy.Ticktock.__add__
,spacepy.Ticktock.__sub__
-