IDL计算儒略日

时间:2023-03-10 02:26:52
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
运行示意:
 
IDL计算儒略日