Viewing contents of file '../idllib/uit/pro/date.pro'
FUNCTION DATE,YEAR,DAY
;+
; NAME:
;	DATE
; PURPOSE:
;	DATE converts day-of-year to ordinary Gregorian date;
;	works on cumulative day from 1-JAN-1979 (for instance),
;	as well as more well-mannered days-of-year.
; CALLING SEQUENCE:
;       D_STRING = DATE(Year,day)
; INPUTS:
;	Year - Years after 1900 may either be written out in full
;	(e.g. 1986) or with just the last two digits (e.g. 86)
;       Day - number of days after Jan 1 of the specified year
; OUTPUTS:
;	D_STRING - String giving date in format '13-MAR-1986'
; RESTRICTIONS:
;	Will only work for years after 1900.
; MODIFICATION HISTORY:
;       D.M. fecit  24 October,1983
;-
IF DAY LE 0 THEN BEGIN
	D_STRING = '%DATE-F-DAY.LE.ZERO'
ENDIF ELSE BEGIN
	LAST_DAY = [31,59,90,120,151,181,212,243,273,304,334,365]
	LD = [0,INTARR(11)+1]
	DAY_OF_YEAR = DAY
	MONTHS = 'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'
	IF YEAR GT 1899 THEN YR = YEAR - 1900 ELSE YR = YEAR
	N_DAYS = 365 + ((YR MOD 4) EQ 0)
	WHILE DAY_OF_YEAR GT N_DAYS DO BEGIN
		DAY_OF_YEAR = DAY_OF_YEAR - N_DAYS
		YR = YR + 1
		N_DAYS = 365 + ((YR MOD 4) EQ 0)
	END
	END_DATE = '-19' + STRTRIM(YR,2)
	IF (YR MOD 4) EQ 0 THEN LAST_DAY = LAST_DAY + LD
	LAST_MONTH = DAY_OF_YEAR LE LAST_DAY
	WHERE_LD = WHERE(LAST_MONTH)
	N_MONTH = !ERR
	IF N_MONTH EQ 12 THEN BEGIN
		D_STRING = STRTRIM(DAY_OF_YEAR,2) + '-JAN' + END_DATE
	ENDIF ELSE BEGIN
		LAST_MONTH = WHERE_LD(0)
		MONTH = STRMID(MONTHS,3*LAST_MONTH,3)
		DAY_OF_MONTH = DAY_OF_YEAR - LAST_DAY(LAST_MONTH-1)
		D_STRING = STRTRIM(DAY_OF_MONTH,2) + '-' + MONTH + END_DATE
	END
END
RETURN,D_STRING
END