LearningENVI&IDL分享 http://blog.sciencenet.cn/u/dongyanqing Learning ENVI&IDL

博文

IDL中的日期和时间函数

已有 14472 次阅读 2012-8-22 22:05 |个人分类:IDL技术|系统分类:科研笔记| 时间, 日期, IDL

   IDL中包含了日期和时间函数,通过这些函数可以获取当前系统时间,进行日期时间转换或求特定条件下的日期。日期和时间的函数如下表
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0

函数名称

功能描述

BIN_DATE

标准日期时间字符串转换成6元素日期数组

CALDAT

儒略日转为年月日

CALENDAR

根据输入日期显示日历

JULDAY

年月日转为儒略日

SYSTIME

返回当前系统时间

TIMEGEN

获取儒略日格式的数组

函数使用举例(请仔细看“;”后面的注释)
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0

IDL> ;获取当前系统时间,输出为字符串形式

IDL> print,systime()

Wed Aug 22 21:20:52 2012

IDL> ;获取当前系统时间,转换为年月日时分的形式,2012822212335

IDL> print,bin_date(systime())

        2012           8          22

          21          23          35

IDL> ;获取当前系统时间,儒略日形式输出

IDL> print,systime(/julian)

       2456162.4

IDL> ;当前儒略日日期转换年月日时分,2012822212658.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> ;年月日时分格式转换为儒略日,2012822

IDL> print,julday(8,22,2012)

     2456162

IDL> ;计算两个日期差多少天,如求2007730日至2012822日有多少天

IDL> print,julday(8,22,2012)-julday(7,30,2007)

        1850

IDL> ;年月日时分格式转换为儒略日,2012822212658

IDL> print,julday(8,22,2012,21,26,58)

       2456162.4

IDL> ;计算从2007730日起,第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> ;统计以月为单位从200011日起至今,每隔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




https://blog.sciencenet.cn/blog-344887-604968.html

上一篇:ENVI5.0的汉化方法
下一篇:ENVI二次开发时ENVI_GET_DATA等函数的编译报错问题
收藏 IP: 182.18.14.*| 热度|

1 李宇斌

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-10-16 13:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部