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。