IDL time routines


This file tries to summarize some of the huge variety of ways to re-formulate times using IDL.

TAI and UTC formats

First note that a time expressed in TAI units is different to that expressed in UTC units. The difference can be about 30 seconds (it varies with time!).

To convert a TAI time to a UTC time, do the following:

IDL> time_utc=anytim2utc(time_tai)

To create a time in a useful string format, try one of the following:

IDL> print,anytim2utc(time_tai, /ccsds)
2011-02-16T07:38:03.570

IDL> print,anytim2utc(time_tai, /ccsds, /truncate)
2011-02-16T07:38:03

IDL> print,anytim2utc(time_tai, /ccsds, /truncate, /time)
07:38:03

IDL> print,anytim2utc(time_tai, /ccsds, /date)
2011-02-16

If you want the month given as string, then do:

IDL> print,anytim2utc(time_tai, /vms, /date)
16-Feb-2011

Converting to EX format

The EX format is sometimes handy as it breaks the time into a 7-element array containing year, month, day, hour, minute, second and millisecond, with each given as an integer. The best way seems to be

IDL> extime = anytim(time, /ex)

The routine anytim2ex() does not seem to work very well.

Converting to year-month-day directory structure

A standard time format can be converted to a year-month-day format directory structure with:

IDL> print,time2fid('25-dec-2010 12:00',/full_year,delim='/')
2010/12/25

Convert a time to file ID (fid) format

This can be useful if you have a data file corresponding to a specific time, and you want to save some derived data into a file that contains the data and time as part of the filename. For example,

IDL> print,time2fid('23-oct-2010 09:40',/full_year,/time)
20101023_0940


Page maintained by Dr Peter R Young.