Fortran毫秒时间转换
系统时间和GMT时间
shell中的date命令可以显示当前的系统时间(1900年以来经过多少秒)和GMT时间(格林威治时间年月日时分秒)
date +GMT%Y-%m-%dT%H:%M:%S.%6N=UT%s.%6N
#输出为GMT2022-06-11T15:30:39.566390=UT1654932639.566390
Fortran将毫秒系统时间转GMT时间
GMT的时间转换函数主要有gmtime,ltime,ctime等,它们都需要输入整数,对于毫秒微妙的时间可以使用以下方式:
dimension itt(9)
double precision t0
character*17 cha
integer*8 icha
integer iyear,imonth,iday,ihour,imin,isec,ims
c 待转换的系统时间
t0 = 1654932639.566390
c 将双精度浮点数转为字符串
write(cha,'(F17.6)') t0
c 提取系统时间的整数部分作为秒数
read(cha(1:11),'(I11)') icha
c 提取系统时间的小数部分作为毫秒
read(cha(12:),'(I6)' ims
c 将整数转为年月日时分秒
call ltime(icha,itt)
!call gmtime(icha,itt) !gmtime在本机器上ifort中未能正确输出itt(4)
iyear = itt(6)+1900
imonth = itt(5)+1
iday = itt(4)
ihour = itt(3)
imin = itt(2)
isec = itt(1)
write(6,100) t0,iyear,imonth,iday,ihour,imin,isec,ims
100 format("UT",f17.6,"=GMT",I4,"-",I2,"-",I2,"T",I2,":",I2,":",I2,".",I6)
C 输出UT1654932639.566390=GMT2022-06-11T15:30:39.566390
本文来自博客园,作者:Philbert,转载请注明原文链接:https://www.cnblogs.com/liangxuran/p/16366201.html