section of routines in calendar.i

functions in calendar.i -

 
 
 
base60


             dec = base60(h, m, s)  
         or base60, h, m, s, dec  
 
    converts hours (or degrees) H, minutes M, and seconds S into  
    decimal hours (or degrees) DEC, in the first form.  In the  
    second form, DEC is the input, and H, M, and S are the outputs  
    (H and M are whole numbers of type double in that case).  
SEE ALSO: unix_time,   julian_day,   datestamp,   base60  
 
 
 
calendar


             jdn = calendar(y, m, d)  
         or calendar, y, m, d, jdn  
 
    returns the Julian Day Number, JDN, associated with year Y,  
    month M (1=Jan, 2=Feb, ..., 12=Dec) and day of month D in the  
    first form.  In the second form, JDN is the input, and Y, M,  
    and D are outputs.    
    
    The Julian Day Number is a day count used by astronomers, which  
    is by definition independent of any calendar; each passing day  
    increments the count by one.  The zero day of the count falls a  
    bit before 4700 BC, for esoteric reasons (see Wikipedia).  
    
    Julian Day Number modulo 7 (JDN%7) is the day of the week, with  
    0=Mon, 1=Tue, ..., 6=Sun.  
    
    By default, Y, M, and D are in the modern Gregorian calendar.  
    However, with the julian=1 keyword in either form, calendar  
    treats Y, M, and D as the date in the Julian calendar, used  
    in Roman Catholic countries before 1582, in the British  
    empire before 1752, and in Eastern Orthodox countries well  
    into the twentieth century (again, see Wikipedia).  
    
    In the first form (when computing JDN), if Y<50, calendar  
    assumes 2000+Y, and if 50<=Y<100, calendar assumes 1900+Y,  
    unless the noabbrev=1 keyword is present, in which case it  
    assumes you are doing ill-advised archeological work.  In  
    the second form, the output Y will always include the century.  
    The julian=1 keyword implies noabbrev=1.  
    
SEE ALSO: unix_time,   julian_day,   datestamp  
 
 
 
datestamp


             ts = datestamp(y, m, d, h)  
         or datestamp, y, m, d, h, ts  
         or ts = datestamp(y, m, d, h, 1)  
 
    converts numeric year Y, month M, day D, and hour H into the 25  
    character string format TS returned by the timestamp() function.  
    The hour H can be a floating point number witha fractional part.  
    In the second form, returns Y, M, D, and H, given TS.  
    In the third form, returns Y, M, D, H, and TS for the current  
    local time, as returned by the timestamp() function.  
SEE ALSO: timestamp,   unix_time,   julian_day,   base60,  
calendar  
 
 
 
julian_day


             jd = julian_day(y, m, d, h)  
         or julian_day, y, m, d, h, jd  
         or jd = julian_day(now=1)  
 
    converts numeric year Y, month M, day D, and hour H into the  
    corresponding Julian Day, which includes the fractional part  
    of the day, measured from noon (not midnight) GMT.  
    The hour H can be a floating point number with a fractional part.  
    In the second form, returns Y, M, D, and H, given JD.  
    In the third form, returns JD for the current time.  
    This requires calculating your time zone, as noted below.  
    
    By default, the input or returned Y, M, D, H represent Greenwich  
    time (UT).  (The UNIX time is, by definition, in the Greenwich  
    time zone.)  However, with the loc=1 keyword in the first two  
    forms, Y, M, D, H are the local time.  
    
    The loc=1 or now=1 keywords require the time zone.  If it has not  
    been previously set, the tz_set function is invoked to set it.  
    
SEE ALSO: unix_time,   calendar,   datestamp,   base60,  
tz_set  
 
 
 
tz_set


             tz_set  
         or tz_set, offset  
 
    sets the tz_offset global variable, which is the difference  
    between local time and Greenwich mean time in seconds.  In the  
    second form, you specify the offset directly.  In the first form,  
    tz_set attempts to compute it, either from the UNIX time returned  
    by the timestamp function, or from the system date utility if  
    that is not available.  If neither of these attempts works,  
    sets tz_offset to zero.  
SEE ALSO: unix_time,   julian_day  
 
 
 
unix_time


             t = unix_time(y, m, d, h)  
         or unix_time, y, m, d, h, t  
         or t = unix_time(now=1)  
 
    converts numeric year Y, month M, day D, and hour H into the  
    corresponding "UNIX time" T, the number of seconds since  
    1970 Jan 1 00:00:00 UTC = 2440587.5 JD.  
    The hour H can be a floating point number with a fractional part.  
    In the second form, returns Y, M, D, and H, given T.  
    In the third form, returns T for the current time.  
    This requires calculating your time zone, as noted below.  
    
    By default, the input or returned Y, M, D, H represent Greenwich  
    time (UT).  (The UNIX time is, by definition, in the Greenwich  
    time zone.)  However, with the loc=1 keyword in the first two  
    forms, Y, M, D, H are the local time.  
    
    The loc=1 or now=1 keywords require the time zone.  If it has not  
    been previously set, the tz_set function is invoked to set it.  
    
SEE ALSO: julian_day,   calendar,   datestamp,   base60,  
tz_set