回 帖 发 新 帖 刷新版面

主题:有关时间的函数

我想请问一下fortran里面有能用来进行时间加减的函数吗?
比如我有一个1990010112表示1990年1月1号12时,我想每隔6h输出一个时间,有能直接实现的函数吗?

回复列表 (共7个回复)

沙发

时间函数是有的, cpu_time, system_clock, date_and_time. 但没有直接实现你功能的. 善用这些内部函数吧. 详细翻翻彭书附录或者编译器的索引文件之类的参考资料.

板凳

谢谢,如果能给出那几个函数怎么用的例子就最好了,呵呵。自己翻翻看吧

3 楼

如果你用cvf, 就查查help里面的index吧, 里面说明函数的同时还伴随有简单例子.
以下是cpu_time的例子, 其他自己查查, 不会花很多时间的.

Examples 

Consider the following: 

  REAL time_begin, time_end
  ...
  CALL CPU_TIME ( time_begin )
  !
  !task to be timed
  !
  CALL CPU_TIME ( time_end )
  PRINT *, 'Time of operation was ', time_end - time_begin, ' seconds'

4 楼

我用的是gfortran,简单看了一下,好像都是对计算机内部的时间做操作的,暂时还是不知道如何实现我想达到的功能

5 楼

每隔一段时间做某件事那就要不断检查时间. 这件事写代码是可做的, 但是很浪费资源.
我觉得还是通过系统命令实现会比较节省资源.
我印象中看过有人在linux用脚本编程实现类似的事, 如果需要那样做问问论坛其它熟悉linux的人.

6 楼

恩,谢谢了

7 楼

先写一个程序实现单次输出的功能,然后用at命令定时执行:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册