PRTimeParameters

表示时区信息。

语法

#include <prtime.h>

typedef struct PRTimeParameters {
    PRInt32 tp_gmt_offset;
    PRInt32 tp_dst_offset;
} PRTimeParameters;

描述

每个地理位置都有一个标准时区,如果实行夏令时 (DST),则还有一个夏令时区。PRTimeParameters 结构以相对于 GMT 的偏移量(以秒为单位)表示本地时区信息。总偏移量分为两个部分

tp_gmt_offset

本地标准时间相对于 GMT 的偏移量。

tp_dst_offset

如果夏令时 (DST) 生效,则为本地标准时间的 DST 调整量。通常为 1 小时,但也可能是 30 分钟或其他时间。如果 DST 未生效,则 tp_dst_offset 组件为 0。

例如,美国太平洋时区既有标准时区(太平洋标准时间,或 PST),也有夏令时区(太平洋夏令时间,或 PDT)。

  • 在 PST 中,本地时间比 GMT 晚 8 小时,因此 tp_gmt_offset 为 -28800 秒。 tp_dst_offset 为 0,表示夏令时未生效。

  • 在 PDT 中,时钟向前拨动一小时,因此本地时间比 GMT 晚 7 小时。分解为 -8 + 1 小时,因此 tp_gmt_offset 为 -28800 秒,tp_dst_offset 为 3600 秒。

第二个例子是日本,比 GMT 早 9 小时。日本不使用夏令时,因此唯一的时区是日本标准时间 (JST)。在 JST 中,tp_gmt_offset 为 32400 秒,tp_dst_offset 为 0。