This page was created by the IDL library routine
mk_html_help2
.
Last modified: Thu Oct 24 15:35:45 2019.
NAME: day_to_year_doy PURPOSE: determines year and day of year given day since 0000 AD USAGE: day_to_year_doy,daynum,year,doy INPUT: daynum: (long int) day since 0 AD OUTPUT: year: year (0 <= year <= 14699 AD) doy: day of year (1 <= doy <= 366) NOTES: This procedure is reasonably fast, it works on arrays and works from 0 AD to 14699 AD CREATED BY: Davin Larson Oct 1996 FILE: day_to_year_doy.pro VERSION: 1.2 LAST MODIFICATION: 97/01/27
(See general/misc/time/day_to_year_doy.pro)
PROCEDURE: doy_to_month_date, year, doy, month, date NAME: doy_to_month_date PURPOSE: Determines month and date given the year and day of year. fast, vector oriented routine that returns the month and date given year and day of year (1<=doy<=366) CREATED BY: Davin Larson Oct 1996 FILE: doy_to_month_date.pro VERSION: 1.2 LAST MODIFICATION: 97/01/27
(See general/misc/time/doy_to_month_date.pro)
FUNCTION: time_double(time) NAME: time_double PURPOSE: A fast, vectorized routine that returns the number of seconds since 1970. INPUT: input can be any of the following types: double(s) seconds since 1970 (returns the input) string(s) format: YYYY-MM-DD/hh:mm:ss see "time_string" structure(s) format returned in "time_struct" long array (MUST be 2 dimensional!) PB5 time (req. by CDF) OUTPUT: double, number of seconds since 1970 (UNIX time) KEYWORDS: EPOCH: if set, it implies the input is double precision EPOCH or complex double precision EPOCH16 time. TT2000: if set, it implies that the input is a 64 bit signed integer, TT2000 time: leaped nanoseconds since J2000 TFORMAT: Specify a custom format for string to double conversion: Format string such as "YYYY-MM-DD/hh:mm:ss" (Default) the following tokens are recognized: YYYY - 4 digit year yy - 2 digit year (00-69 assumed to be 2000-2069, 70-99 assumed to be 1970-1999) MM - 2 digit month DD - 2 digit date hh - 2 digit hour mm - 2 digit minute ss - 2 digit seconds .fff - fractional seconds (can be repeated, e.g. .f,.ff,.fff,.ffff, etc... are all acceptable codes) MTH - 3 character month DOY - 3 character Day of Year TDIFF - 5 character, +hhmm or -hhmm different from UTC (sign required) tformat is case sensitive! SEE ALSO: "time_string", "time_struct", "time_epoch", "time_pb5","time_parse" NOTE: This routine works on vectors and is designed to be fast. Output will have the same dimensions as the input Out of range values are interpreted correctly. ie. 1994-13-1/12:61:00 will be treated as: 1995-1-1/13:01:00 CREATED BY: Davin Larson Oct 1996 $LastChangedBy: davin-mac $ $LastChangedDate: 2015-11-04 21:35:03 -0800 (Wed, 04 Nov 2015) $ $LastChangedRevision: 19252 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/time/time_double.pro $
(See general/misc/time/time_double.pro)
FUNCTION: time_double_ordinal INPUT: time must be input as a string PURPOSE: Wrapper around time_double that supports ordinal dates in the input string, e.g., YYYY-DOY instead of YYYY-MM-DD $LastChangedBy: egrimes $ $LastChangedDate: 2018-03-09 13:56:38 -0800 (Fri, 09 Mar 2018) $ $LastChangedRevision: 24861 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/time/time_double_ordinal.pro $
(See general/misc/time/time_double_ordinal.pro)
NAME: time_epoch PURPOSE: Returns the EPOCH time required by CDF files. USAGE: epoch = time_epoch(t) NOT TESTED!!! CREATED BY: Davin Larson Oct 1996 FILE: time_epoch.pro VERSION: 1.1 LAST MODIFICATION: 96/10/16
(See general/misc/time/time_epoch.pro)
FUNCTION: time_parse PURPOSE: Parse a string or array of strings into double precision seconds since 1970 (a)using user provided format code or (b)using flexible formatting and no code INPUTS: s : the input string or array of strings KEYWORDS: tformat=tformat: Format string such as "YYYY-MM-DD/hh:mm:ss" (Default) the following tokens are recognized: YYYY - 4 digit year yy - 2 digit year (00-69 assumed to be 2000-2069, 70-99 assumed to be 1970-1999) MM - 2 digit month DD - 2 digit date hh - 2 digit hour mm - 2 digit minute ss - 2 digit seconds .fff - fractional seconds (can be repeated, e.g. .f,.ff,.fff,.ffff, etc... are all acceptable codes) MTH - 3 character month DOY - 3 character Day of Year TDIFF - 5 character, +hhmm or -hhmm different from UTC (sign required) tformat is case sensitive! tdiff=tdiff: Offset in hours. Array or scalar acceptable. If your input times are not UTC and offset is not specified in the time string itself, use this keyword. MMDDYYYY=MMDDYYYY: handle dates in month/day/year format flexibly if tformat not specified Examples: NOTES: #1 Some format combinations can conflict and may lead to unpredictable behavior. (e.g. "YYYY-MM-MTH") #2 Primarily intended as a helper routine for time_double and time_struct #3 letter codes are case insensitive. #4 Based heavily on str2time by Davin Larson. $LastChangedBy: davin-mac $ $LastChangedDate: 2019-03-04 13:43:53 -0800 (Mon, 04 Mar 2019) $ $LastChangedRevision: 26755 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/time/time_parse.pro $
(See general/misc/time/time_parse.pro)
NAME: time_pb5 PURPOSE: Returns the PB5 time required by CDF files. USAGE: pb5 = time_pb5(t) OUTPUT: 2 dimensional long integer array with dimensions: (n,3) Where n is the number of elements in t Not fully TESTED!!!! CREATED BY: Davin Larson Oct 1996 FILE: time_pb5.pro VERSION: 1.3 LAST MODIFICATION: 97/01/27
(See general/misc/time/time_pb5.pro)
FUNCTION: time_string(TIME) NAME: time_string PURPOSE: Converts time to a date string. INPUTs: TIME input can be a scalar or array of any dimension of type: double(s) seconds since 1970 string(s) format: YYYY-MM-DD/hh:mm:ss structure(s) format: given in "time_struct" float(s) not recommended, may result in loss of precision longs(s) values outside normal range will be corrected. KEYWORDS: LOCAL_TIME ; if set then local time is displayed. TFORMAT: a format string such as: "YYYY-MM-DD/hh:mm:ss.ff DOW TDIFF" the following tokens are recognized: YYYY - 4 digit year yy - 2 digit year MM - 2 digit month DD - 2 digit date hh - 2 digit hour mm - 2 digit minute ss - 2 digit seconds .fff - fractional seconds MTH - 3 character month DOW - 3 character Day of week DOY - 3 character Day of Year TDIFF - 5 character, hours different from UTC (useful with LOCAL keyword) if TFORMAT is defined then the following keywords are ignored. FORMAT: specifies output format. FORMAT=0: YYYY-MM-DD/hh:mm:ss FORMAT=1: YYYY Mon dd hhmm:ss FORMAT=2: YYYYMMDD_hhmmss FORMAT=3: YYYY MM dd hhmm:ss FORMAT=4: YYYY-MM-DD/hh:mm:ss FORMAT=5: YYYY/MM/DD hh:mm:ss FORMAT=6: YYYYMMDDhhmmss SQL: produces output format: "YYYY-MM-DD hh:mm:ss.sss" (quotes included) which convenient for building SQL queries. PRECISION: specifies precision -5: Year only -4: Year, month -3: Year, month, date -2: Year, month, date, hour -1: Year, month, date, hour, minute 0: Year, month, date, hour, minute, sec >0: fractional seconds AUTOPREC If set PREC will automatically be set based on the array of times DELTAT: (float) PREC set based on this precision. DATE_ONLY: Same as PREC = -3 MSEC: Same as PREC = 3 OUTPUT: string with the following format: YYYY-MM-DD/hh:mm:ss (Unless modified by keywords.) See Also: "time_double" , "time_struct" or "time_ticks" NOTE: This routine works on vectors and is designed to be fast. Output will have the same dimensions as the input. If you call this function using a float for time0, IDL transforms the float to an exp format, which may result in loss of precision. For example: time_string(1514851198.0D) = 2018-01-01/23:59:58 (Correct!) time_string(1514851198.0) = 2018-01-02/00:00 (Wrong!) float becomes 1.5148512e+009 time_string(1514851198) = 2018-01-01/23:59:58 (Correct!) CREATED BY: Davin Larson Oct 1996 $LastChangedBy: nikos $ $LastChangedDate: 2018-07-09 14:31:15 -0700 (Mon, 09 Jul 2018) $ $LastChangedRevision: 25457 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/time/time_string.pro $
(See general/misc/time/time_string.pro)
FUNCTION: time_struct(time) NAME: time_struct PURPOSE: A fast, vectorized routine that returns a time structure. INPUT: input can be any of the following types: double(s) seconds since 1970 string(s) format: YYYY-MM-DD/hh:mm:ss structure(s) similar to format below. OUTPUT: structure with the following format: ** Structure TIME_STRUCT, 11 tags, length=40: YEAR INT 1970 ; year (0-14699) MONTH INT 1 ; month (1-12) DATE INT 1 ; date (1-31) HOUR INT 0 ; hours (0-23) MIN INT 0 ; minutes (0-59) SEC INT 0 ; seconds (0-59) FSEC DOUBLE 0.0000000 ; fractional seconds (0-.999999) DAYNUM LONG 719162 ; days since 0 AD (subject to change) DOY INT 0 ; day of year (1-366) DOW INT 3 ; day of week (subject to change) SOD DOUBLE 0.0000000 ; seconds of day DST = INT = 0 ; Daylight saving time flag TZONE = INT = 0 ; Timezone (Pacific time is -8) TDIFF = INT = 0 ; Hours from UTC KEYWORDS: TFORMAT: Specify a custom format for string to struct conversion: Format string such as "YYYY-MM-DD/hh:mm:ss" (Default) the following tokens are recognized: YYYY - 4 digit year yy - 2 digit year (00-69 assumed to be 2000-2069, 70-99 assumed to be 1970-1999) MM - 2 digit month DD - 2 digit date hh - 2 digit hour mm - 2 digit minute ss - 2 digit seconds .fff - fractional seconds (can be repeated, e.g. .f,.ff,.fff,.ffff, etc... are all acceptable codes) MTH - 3 character month DOY - 3 character Day of Year TDIFF - 5 character, +hhmm or -hhmm different from UTC (sign required) tformat is case sensitive! See Also: "time_double", "time_string", "time_epoch", "time_pb5", "time_zone_offset","time_parse" NOTE: This routine works on vectors and is designed to be fast. Output will have the same dimensions as the input CREATED BY: Davin Larson Oct 1996 $LastChangedBy: egrimes $ $LastChangedDate: 2018-10-17 12:47:15 -0700 (Wed, 17 Oct 2018) $ $LastChangedRevision: 25991 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/time/time_struct.pro $
(See general/misc/time/time_struct.pro)
FUNCTION: time_zone_offset() PURPOSE: Returns timezone offset in hours. Will include any offset from daylight savings time Usage: IDL> print,time_zone_offset() -7 IDL> file_touch,somefile,systime(1),/mtime,toffset=time_zone_offset() $LastChangedBy: pcruce $ $LastChangedDate: 2014-02-06 17:49:56 -0800 (Thu, 06 Feb 2014) $ $LastChangedRevision: 14190 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/general/misc/time/time_zone_offset.pro $
(See general/misc/time/time_zone_offset.pro)