|||
原文地址:IDL中的日期和时间函数作者:ENVI-IDL技术殿堂
IDL中包含了日期和时间函数,通过这些函数可以获取当前系统时间,进行日期时间转换或求特定条件下的日期。日期和时间的函数如下表
函数名称 | 功能描述 |
BIN_DATE | 标准日期时间字符串转换成6元素日期数组 |
CALDAT | 儒略日转为年月日 |
CALENDAR | 根据输入日期显示日历 |
JULDAY | 年月日转为儒略日 |
SYSTIME | 返回当前系统时间 |
TIMEGEN | 获取儒略日格式的数组 |
应用举例
IDL> ;获取当前系统时间,输出为字符串形式 IDL> print,systime() Wed Aug 22 21:20:52 2012 IDL> ;获取当前系统时间,转换为年月日时分的形式,2012年8月22日21时23分35秒 IDL> print,bin_date(systime()) 2012 8 22 21 23 35 IDL> ;获取当前系统时间,儒略日形式输出 IDL> print,systime(/julian) 2456162.4 IDL> ;当前儒略日日期转换年月日时分,2012年8月22日21时26分58.000035秒 IDL> caldat,systime(/julian),month,day,year,hour,min,sec IDL> print,month,day,year,hour,min,sec 8 22 2012 21 26 58.000035 IDL> ;年月日时分格式转换为儒略日,2012年8月22日 IDL> print,julday(8,22,2012) 2456162 IDL> ;计算两个日期差多少天,如求2007年7月30日至2012年8月22日有多少天 IDL> print,julday(8,22,2012)-julday(7,30,2007) 1850 IDL> ;年月日时分格式转换为儒略日,2012年8月22日21时26分58秒 IDL> print,julday(8,22,2012,21,26,58) 2456162.4 IDL> ;计算从2007年7月30日起,第1850天是哪一年哪月哪日? IDL> caldat,julday(7,30,2007)+1850,month,day,year IDL> print,month,day,year 8 22 2012 IDL> ;获取当前系统时间,秒制形式输出 IDL> print,systime(/seconds) 1.3456417e+009 IDL> ;获取当前系统时间,秒制形式输出,与上面一样 IDL> print,systime(1) 1.3456417e+009 IDL> ;统计程序运行前后时间差的方法 IDL> starttime = systime(1) IDL> endtime = systime(1) IDL> print,'花费时间:',endtime - starttime 花费时间: 7.7220001 IDL> ;统计以月为单位从2000年1月1日起至今,每隔3月一次的所有记录 IDL> MyTimes = TIMEGEN(START=JULDAY(1,1,2000), FINAL=systime(/julian), UNITS='month',step =3) IDL> help,mytimes MYTIMES DOUBLE = Array[51] IDL> ;将统计的儒略日结果转换为年月日 IDL> caldat,mytimes,mons,days,years IDL> ;输出查看前5组数据的年月 IDL> for i=0,4 do print,StrTrim(years[i],2)+':'+Strtrim(mons[i],2) 2000:1 2000:4 2000:7 2000:10 2001:1 |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-28 15:48
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社