【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

 

 

posted @   地理遥感生态网平台  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示