本章介绍 NSPR 中的日期和时间函数。

NSPR 以两种方式表示时间:绝对时间和时钟/日历时间。NSPR 为这两种表示提供类型和常量,以及在两者之间转换时间值的函数。

  • 绝对时间表示将时间瞬间视为时间线上的一点。时间瞬间由其在时间线上相对于原点的相对位置表示,称为纪元。NSPR 将纪元定义为 1970 年 1 月 1 日 UTC(协调世界时)午夜(00:00:00)。在这种形式下,时间只是时间线上的一点。没有时区概念。

  • 时钟/日历时间用于人机界面,以常见的年、月、日、时、分、秒组件表示时间。在这种形式下,时区信息非常重要。例如,如果不指定时区,1998 年 5 月 1 日上午 8:00 是模棱两可的。NSPR 用于时钟/日历时间的的数据类型称为分解时间,其中包含时区信息,以便其在绝对时间中的对应点是唯一指定的。

请注意,绝对时间和时钟时间通常不用于计时操作。有关处理经过时间和超时测量的函数,请参见 时间间隔计时

时间单位转换宏

用于在秒、毫秒、微秒和纳秒之间转换的宏。

类型和常量

为 NSPR 日期和时间定义的类型和常量为

时间参数回调函数

在某些地理位置,夏令时 (DST) 的使用以及确定 DST 开始和结束日期的规则已更改过几次。因此,使用回调函数来确定时区信息。

您可以定义自己的时间参数回调函数,这些函数必须符合定义 PRTimeParamFn。NSPR 提供了两个常用的此类回调函数

函数

用于创建和处理时间和日期值的函数为