gmtime, _gmtime32, _gmtime64
转换时间值为结构。这些功能的更安全版本可用; gmtime_s, _gmtime32_s, _gmtime64_s参见。
struct tm *gmtime(
const time_t *timer
);
struct tm *_gmtime32(
const time32_t *timer
);
struct tm *_gmtime64(
const __time64_t *timer
);
参数
- timer
为内存的指针。时间表示为秒自午夜 (00:00 elapsed: 00), 1970 年一月 1 日,世界 (UTC)时 (utc)。
返回值
返回指向的指针类型 tm结构。返回的结构的字段表示 timer 参数的计算的值 UTC 的而不是在本地时间。每个结构字段是类型 int,如下所示:
tm_sec
秒数分钟 (0 – 59) 之后。tm_min
分钟数小时 (0 – 59) 之后。tm_hour
小时数自午夜 (0 – 23)。tm_mday
日期月份 (1 – 31)。tm_mon
月份 (0 – 11;一月 = 0)。tm_year
年份 (减号 1900 的当前年份)。tm_wday
每周日期 (0 – 6;sunday = 0)。tm_yday
日、 (0 – 365;一月 1 日 = 0 日)。tm_isdst
始终 0 gmtime的。
gmtime、 mktime、 mkgmtime和 localtime所有的 32 位和 64 位版本为将使用一个 tm 结构每个线程。每次调用这些函数之一销毁结果的所有以前的调用。如果 timer 午夜之前表示日期, 1970 年一月 1 日, gmtime 返回 NULL。无错误返回。
_gmtime64,使用 __time64_t 结构,允许日期下午 23:59 表示: 59, 3000 年十二月 31 日,, UTC,,而 _gmtime32 下午 03:14 只表示日期: 一月 07 日 19 日 2038 中, UTC。午夜, 1970 年一月 1 日,是日期范围的下限这些功能的。
gmtime 是计算结果为 _gmtime64 ,并 time_t 与 __time64_t等效的内联函数。如果需要强制编译器解释 time_t 为旧 32 位 time_t,可以定义 _USE_32BIT_TIME_T。这样做将导致 gmtime 联机获取对 _gmtime32。建议不要这样做,因为应用程序可以在 2038 年一月 18 日之后,失败,并且在 64 位平台不允许的。
这些功能验证其参数。如果 timer 是 null 指针,或者,如果计时器值为负,这些函数调用无效参数处理程序,如 参数验证所述。如果执行允许继续,函数返回 NULL 并将 errno 到 EINVAL。
备注
_gmtime32 功能在类型 tm静态分配的结构分区 timer 值并将其存储,定义在 TIME.H。timer 的值在调用通常获取到 time 功能。
说明 |
---|
目标环境应尝试确定夏时制时间是否有效。C 运行库假定实现的夏时制的计算美国规则 (DST)。 |
要求
实例 |
必需的头 |
---|---|
gmtime |
time.h |
_gmtime32 |
time.h |
_gmtime64 |
time.h |
有关其他的兼容性信息,请参见中介绍的 兼容性 。
示例
// crt_gmtime.c
// compile with: /W3
// This program uses _gmtime64 to convert a long-
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime to
// convert this structure to an output string.
#include <time.h>
#include <stdio.h>
int main( void )
{
struct tm *newtime;
__int64 ltime;
char buff[80];
_time64( <ime );
// Obtain coordinated universal time:
newtime = _gmtime64( <ime ); // C4996
// Note: _gmtime64 is deprecated; consider using _gmtime64_s
asctime_s( buff, sizeof(buff), newtime );
printf( "Coordinated universal time is %s\n", buff );
}
.NET Framework 等效项
请参见
参考
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s
localtime, _localtime32, _localtime64