此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

2.13.3 日期和时间函数

找出日期和函数

给出当前日期和时间

Mathematica Date 函数的返回值是所用计算机系统设定的当前日期和时间. 它假设夏时制等已经在所用计算机系统中进行了处理,并认为已对所用计算机 系统设置了适当的时区.
函数 TimeZone[ ] 的返回值是所用计算机系统设定的时区. 时区按小时数 给出,给它加上 Greenwich 标准时间 (GMT) 后就得到正确的当地时间. 例如,美国东部 标准时间 (EST) 对应于时区 -5. 注意,夏令时校正必须包含在时区中, 所以美国东部夏令时对应于时区 -4.

给出由计算机系统设定的当前时区

在 +9 时区给出当前日期和时间,这是日本时区

时间函数

在任何计算机系统中,有一个确定的时间测量刻度. 该刻度赋给全局变量 $TimeUnit,它一般是  秒.

计算中的暂停

这里给出了各种时间函数

这里暂停了 10 秒钟,然后重新计算时间函数. 注意 TimeUsed[ ] 不受暂停影响

日期和绝对时间之间的转换

令 d 是当前日期

给当前日期加一个月

给出所加这一月的秒数

Mathematica 运算的计时

Timing 用来计算与单个 Mathematica 表达式计算有关的时间,该时间与 TimeUsed 的增量对应. 注意这仅包含与在Mathematica 内核中表达式实际 计算有关的时间,表达式的输出格式化时间及外部有关的时间没有包括在内.
应该看到 Timing 所报告的一个计算时间依赖于很多因素.
首先,该时间依赖于所用计算机系统. 它不仅依赖于指令时间,而且依赖于 内存缓冲. 更依赖于在计算中对 Mathematica 内部代码进行编绎时优化的细节.
这个时间也依赖于进行计算时 Mathematica 进程的确切状态.许多 Mathematica 所用的内部优化依赖于前面计算的细节. 例如,Mathematica 经常使用前面的计算 结果,以避免不必要的重复计算. 另外,第一次按某种特殊方式调用一些 Mathematica 函数时它们建立一些内部表,再次按同一种方式调用它们时运行就 快得多. 由于这些原因,一个运算在同一个Mathematica 进程的不同点 进行时所用的时间不一定相同.

给出这个运算所需要的 CPU 时间.其中,使计算结果作为空值给出

现在 Mathematica 内部已经建立了阶乘运算的表,该计算几乎不花时间

注意,由 Timing 所得的结果精确到所用计算机系统的时间刻度 $TimeUnit. 例如,Timing 报告的结果 0 事实上有可能与 $TimeUnit 相同.

限时计算

在交互式地使用 Mathematica 时,经常要进行一个计算,但这个计算 时间太长时放弃它. 可以用 TimeConstrained 在一个程序中模仿这个过程. TimeConstrained 计算一个表达式到一定的时间,没有完成时就放弃这个计算, 返回 $Aborted 或者所指定的表达式.
TimeConstrained 可以令 Mathematica 在限定的时间内按一种方式 处理一个问题,当这种处理方式没有成功时就转向另一种处理方式. 但要注意到当 Mathematica 在某一计算过程中不能中断时, TimeConstrained 可能会超时. 另外, 不同计算机系统的运行速度不同,所以使用 TimeConstrained 的程序往往在不同的计算 机系统中给出不同的结果.