;+ ; ; @file_comments ; gives yyyymmdd date equivalent of a Julian day ; ; @categories ; Calendar ; ; @param jday {in}{required} {type=double} ; Julian day ; ; @returns ; date in yyyymmdd format ; ; @examples ; ; IDL> print, jul2date(julday(12,23,1999)) ; 19991223 ; ; @history ; Sebastien Masson (smasson\@lodyc.jussieu.fr) ; June 2005 ; ; @version ; $Id$ ; ;- ; function jul2date, jday ; compile_opt idl2, strictarrsubs ; caldat, jday, month, day, year, hour, min, sec ; res = (10000L*year + 100L*month + day)*(year GE 0) $ +( 10000L*year - 100L*month - day)*(year LT 0) ; IF total([hour NE 12, min NE 0, abs(sec) GE 1.e-4]) EQ 0 THEN return, long(res) $ ELSE return, double(res) + (hour / 24.0d0) + (min/1440.0d0) + (sec / 86400.0d0) end