Changeset 69 for trunk/ToBeReviewed/CALENDRIER/julday.pro
- Timestamp:
- 05/11/06 12:35:53 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ToBeReviewed/CALENDRIER/julday.pro
r9 r69 84 84 ;- 85 85 ; 86 function JULDAY, MONTH, DAY, YEAR , Hour, Minute, Second, NDAYSPM = ndayspm86 function JULDAY, MONTH, DAY, YEARin, Hour, Minute, Second, NDAYSPM = ndayspm 87 87 ;------------------------------------------------------------ 88 88 @cm_4cal … … 95 95 IF n_elements(key_caltype) EQ 0 THEN key_caltype = 'greg' 96 96 if keyword_set(ndayspm) then key_caltype = '360d' 97 ; 98 99 YEAR = long(yearin) 100 zero = where(year EQ 0, cnt) 101 IF cnt NE 0 THEN YEAR[zero] = 654321L 97 102 ; 98 103 CASE key_caltype OF … … 170 175 ; 171 176 ; by seb Aug 2003 177 172 178 tochange = where(L_MONTH LT 0) 173 179 IF tochange[0] NE -1 THEN BEGIN … … 175 181 L_MONTH[tochange] = 12 + L_MONTH[tochange] MOD 12 176 182 ENDIF 183 177 184 tochange = where(L_MONTH GT 12) 178 185 IF tochange[0] NE -1 THEN BEGIN … … 189 196 JM = L_MONTH + (1b + 12b*TEMPORARY(inJanFeb)) 190 197 191 192 198 JUL = floor(365.25d * JY) + floor(30.6001d*TEMPORARY(JM)) + L_DAY + 1720995L 193 194 199 195 200 ; Test whether to change to Gregorian Calandar. … … 252 257 END 253 258 'noleap':BEGIN 259 260 L_MONTH = LONG(MONTH) 261 L_DAY = LONG(DAY) 262 L_YEAR = LONG(YEAR) 263 ; 264 tochange = where(L_MONTH LT 0) 265 IF tochange[0] NE -1 THEN BEGIN 266 L_YEAR[tochange] = L_YEAR[tochange]+L_MONTH[tochange]/12-1 267 L_MONTH[tochange] = 12 + L_MONTH[tochange] MOD 12 268 ENDIF 269 ; 270 tochange = where(L_MONTH GT 12) 271 IF tochange[0] NE -1 THEN BEGIN 272 L_YEAR[tochange] = L_YEAR[tochange]+L_MONTH[tochange]/12 273 L_MONTH[tochange] = L_MONTH[tochange] MOD 12 274 ENDIF 275 ; 276 L_YEAR = L_YEAR - 1 277 ; 278 daysyear = long(total([0, 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30], /cumulative)) 279 280 return, 365*L_YEAR + daysyear[L_MONTH] + L_DAY 281 254 282 END 255 283 ELSE:return, report('only 3 types of calendar are accepted: greg, 360d and noleap')
Note: See TracChangeset
for help on using the changeset viewer.