PRExplodedTime

时间的一种时钟/日历表示形式。

语法

#include <prtime.h>

typedef struct PRExplodedTime {
    PRInt32 tm_usec;
    PRInt32 tm_sec;
    PRInt32 tm_min;
    PRInt32 tm_hour;
    PRInt32 tm_mday;
    PRInt32 tm_month;
    PRInt16 tm_year;
    PRInt8 tm_wday;
    PRInt16 tm_yday;
    PRTimeParameters tm_params;
} PRExplodedTime;

描述

The PRExplodedTime 结构表示时钟/日历时间。 PRExplodedTime 具有熟悉的时分秒组件:年、月、日、时、分、秒。它还具有微秒组件,以及星期几和一年中的第几天。此外,PRExplodedTime 包含一个 PRTimeParameters 结构,表示本地时区信息,以便明确指定时间点。

The essential members of PRExplodedTime are

  • tm_year: 公元年份(“绝对”表示如果年份为 2000,则此字段的值为 2000)。

  • tm_month: 超过 tm_year 的月份数。范围为 [0, 11]。0 是 1 月,11 是 12 月。

  • tm_mday: 一月中的第几天。范围为 [1, 31]。请注意,它从 1 开始,而不是 0。

  • tm_hour: 超过 tm_mday 的小时数。范围为 [0, 23]。

  • tm_min: 超过 tm_hour 的分钟数。范围为 [0, 59]。

  • tm_sec: 超过 tm_min 的秒数。范围为 [0, 61]。值 60 和 61 用于容纳最多两个闰秒。

  • tm_usec: 超过 tm_sec 的微秒数。范围为 [0, 999999]。

  • tm_params: 一个 PRTimeParameters 结构,表示本地时区信息。

The nonessential members of PRExplodedTime are

  • tm_wday: 星期几。范围为 [0, 6]。0 是星期日,1 是星期一,6 是星期六。

  • tm_yday: 一年中的第几天。范围为 [0, 365]。0 是 1 月 1 日。

作为 NSPR 函数的输入,只需要指定 PRExplodedTime 的基本成员。两个非基本成员(星期几和一年中的第几天)会被 NSPR 函数作为输入忽略。当 NSPR 函数返回 PRExplodedTime 对象或将 PRExplodedTime 对象设置为输出时,所有 PRExplodedTime 成员都将被设置,包括非基本成员。您还可以使用 PR_NormalizeTime() 计算非基本成员的值。