Viewing contents of file '../idllib/ssw/allpro/anytim2ints.pro'
function anytim2ints, tim_in, offset=offset, qstop=qstop, mdy=mdy
;
;+
;NAME:
; anytim2ints
;PURPOSE:
; Given a time in the form of a (1) structure, (2) 7-element time
; representation, or (3) a string representation, or (4) an array
; 2xN where the first dimension holds (MSOD, DS79)
; convert to the a simple structure with .TIME and .DAY
;CALLING SEQUENCE:
; xx = anytim2ints(roadmap)
; xx = anytim2ints('1-sep-91', off=findgen(1000)*86400)
; xx = anytim2ints('12:33 5-Nov-91')
; xx = anytim2ints([0, 4000])
;INPUT:
; tim_in - The input time
; Form can be (1) structure with a .time and .day
; field, (2) the standard 7-element external representation
; or (3) a string of the format "hh:mm dd-mmm-yy"
;OPTIONAL KEYWORD INPUT:
; offset - The input time can be offset by a scalar or vector number of
; seconds. If "offset" is an array, it should be the same
; length at tim_in
;HISTORY:
; Written 30-May-92 by M.Morrison
; 5-Jan-93 (MDM) - Added /MDY option for TIMSTR2EX
; 12-May-93 (MDM) - Modified to allow TIM_IN to be a single time, and
; OFFSET to be an array
; 11-Jan-94 (MDM) - Updated document header
;-
;
;
siz = size(tim_in)
nx = siz(1)
ny = 1
if (siz(0) eq 2) then ny = siz(2)
typ = siz( siz(0)+1 )
case typ of
7: n = n_elements(tim_in)
8: n = n_elements(tim_in)
else: n = ny
endcase
;
if ((n eq 1) and (n_elements(offset) gt n)) then n = n_elements(offset) ;added 13-May-93
;
daytim = {anytim2ints, time: long(0), day: fix(0)}
daytim = replicate(daytim, n)
;
if (typ eq 8) then begin
time = gt_time(tim_in)
day = gt_day(tim_in)
end else if (typ eq 7) then begin
tarr = timstr2ex(tim_in, mdy=mdy)
ex2int, tarr, time, day
end else begin
if (nx eq 7) then begin
ex2int, tim_in, time, day
end else begin
time = reform(tim_in(0,*))
day = reform(tim_in(1,*))
end
end
;
if (keyword_set(offset)) then begin
time = time + offset*1000L ;offset is input in seconds
if ((n gt 1) and (n_elements(day) eq 1)) then day = day + intarr(n) ;added 13-May-93
check_time, time, day
end
;
if (n eq 1) then begin
daytim.time = time(0) ;trouble inserting an array of one element into the structure!!?!?
daytim.day = day(0)
end else begin
daytim.time = time
daytim.day = day
end
;
return, daytim
end