Faster way to convert a string array of dates to julian dates [message #55961] |
Mon, 24 September 2007 07:49 |
rchughes
Messages: 26 Registered: April 2006
|
Junior Member |
|
|
Hi All,
I want to convert an string array of dates to julian numbers in the
most efficient way in IDL. The only way I can come up with doing it
is using a FOR loop but I'm hoping that some of you could help me to
utilize IDL's super-duper array manipulation strengths. This is what
I have:
date format: YYYY-MM-DD HH:MM:SS.FFFF+TT
F->fractions of a second
T->time zone specification (e.g. -05 for Eastern Standard Time, etc.)
I don't care much about the time zone because all the dates are given
in UTC. It doesn't need to be included in the conversion.
Given a string array like this:
> dates = ['2007-09-21 12:15:00.0000+00', '2007-09-22 23:25:15.9999+00', ...]
I can convert it using this code:
juls = DBLARR(N_ELEMENTS(dates))
FOR i=0, N_ELEMENTS(dates)-1 DO BEGIN
splitdate = STRSPLIT(dates[i], ': +-', /EXTRACT)
juls[i] = JULDAY(splitdate[1], splitdate[2], splitdate[0],
splitdate[3], splitdate[4], splitdate[5])
ENDFOR
This works, but would like to know a more efficient way of converting
it because I do this quite often.
Thanks,
Ryan.
|
|
|