source: trunk/SRC/Calendar/date2jul.pro @ 231

Last change on this file since 231 was 231, checked in by pinsard, 17 years ago

improvements/corrections of some *.pro headers

  • Property svn:keywords set to Id
File size: 1.3 KB
Line 
1;+
2;
3; @file_comments
4; gives Julian day equivalent of a date in yyyymmdd format
5;
6; @categories
7; Calendar
8;
9; @param date {in}{required} {type=string}
10; date in yyyymmdd format
11;
12; @keyword GRADS
13; if  1 <= year <= 49 --> year = 2000 + year
14; if 50 <= year <= 99 --> year = 1900 + year
15;
16; @returns
17; date in Julian day
18;
19; @examples
20;
21; IDL> jday = juldate(19930124)
22; IDL> print, date2jul(19931205) EQ julday(12,5,1993)
23;       1
24; IDL> print, date2jul(931205,/grads) EQ julday(12,5,1993)
25;       1
26;
27; @history
28; Sebastien Masson (smasson\@lodyc.jussieu.fr) June 2005
29;
30; @version
31; $Id$
32;
33;-
34;
35function date2jul, date, GRADS = grads
36;
37  compile_opt idl2, strictarrsubs
38;
39   year = long(date) / 10000
40   month = long(abs(date)/100) MOD 100
41   day = long(abs(date)) MOD 100
42;------------------------------------------------------------
43   if keyword_set(grads) then year = year $
44     + 1900 * (year GE 50 AND year LE 99) $
45     + 2000 * (year GE  1 AND year LE 49)
46;------------------------------------------------------------
47  IF array_equal(date, long(date)) THEN return, julday(month, day, year)
48 
49  fraction = date - long(date)
50  hour = floor(fraction * 24d)
51  fraction = TEMPORARY(fraction) - hour/24d
52  minute = floor(fraction*1440d)
53  second = (TEMPORARY(fraction) - minute/1440d) * 86400d
54 
55  return, julday(month, day, year, hour, minute, second)
56
57end
58
Note: See TracBrowser for help on using the repository browser.