IDL计算儒略日
遥感数据还有一些文章中使用数据的时候,经常使用儒略日(Julian day),即计算该天是一年中的第几天。正好有时间,就用IDL写了段儿小代码,方便使用。
;+
; :Author: caozhigang
; :Copyright:UCAS
; :blog:blog.sina.com.cn/ahnucao
;-
FUNCTION JULIANDAY,year,month,day
;返回一个儒略日
;
index =0
months_days = [31,28,31,30,31,30,31,31,30,31,30,31]
IF ISLEAPYEAR(year) EQ 1 THEN months_days[1]=29
FOR i=0,month-2 DO BEGIN
index = index + months_days[i]
ENDFOR
RETURN, index+day
END
FUNCTION ISLEAPYEAR,year
;判断是不是闰年
result = 0;
IF (year MOD 100 EQ 0) THEN BEGIN
IF (year MOD 400 EQ 0) THEN BEGIN
result = 1
ENDIF ELSE BEGIN
IF (year MOD 4 EQ 0) THEN BEGIN
result = 1
ENDIF ELSE BEGIN
ENDELSE
ENDELSE
ENDIF ELSE BEGIN
ENDELSE
RETURN,result
END
运行示意: