gmtime php 时间戳,gmtime_s_日期与时间 | Date and time_C_参考手册_非常教程

gmtime_s

在头文件中定义

struct tm * gmtime(const time_t * time);

(1)

struct tm * gmtime_s(const time_t *限制时间,struct tm *限制结果);

(2)

(自C11以来)

1)将历元以来的给定时间(time_t指向的值time)转换为日历时间,以结构tm格式中的协调世界时(UTC)表示。结果存储在静态存储器中,并返回指向该静态存储器的指针。

2)与(1)相同,只是该函数使用用户提供的存储result结果,并且在运行时检测到以下错误并调用当前安装的约束处理函数:

time或者result是空指针

与所有边界检查的函数一样,gmtime_s只有__STDC_LIB_EXT1__在实现定义并且用户在包含之前定义__STDC_WANT_LIB_EXT1__为整数常量时1才能保证可用time.h。

参数

时间

-

指向要转换的time_t对象的指针

结果

-

指向结构tm对象来存储结果的指针

返回值

1)tm成功时指向静态内部对象的指针,否则为空指针。该结构可以在gmtime,localtime和之间共享,ctime并且可以在每次调用时被覆盖。

2)result指针的副本或错误上的空指针(可能是运行时约束违规或未能将指定时间转换为UTC)

笔记

这个函数gmtime可能不是线程安全的。

如果由于参数太大而导致失败,POSIX要求此函数设置errno为EOVERFLOW。

POSIX定义了一个线程安全的替代gmtime_r,它与C11函数类似gmtime_s,只是它不检查其输入参数的有效性。

#define __STDC_WANT_LIB_EXT1__ 1

#include

#include

int main(void)

{

time_t t = time(NULL);

printf("UTC: %s", asctime(gmtime(&t)));

printf("local: %s", asctime(localtime(&t)));

#ifdef __STDC_LIB_EXT1__

struct tm buf;

char str[26];

asctime_s(str,sizeof str,gmtime_s(&t, &buf));

printf("UTC: %s", str);

asctime_s(str,sizeof str,localtime_s(&t, &buf)));

printf("local: %s", str);

#endif

}

输出:

UTC: Tue Feb 17 18:12:09 2015

local: Tue Feb 17 13:12:09 2015

UTC: Tue Feb 17 18:12:09 2015

local: Tue Feb 17 13:12:09 2015

参考

C11标准(ISO / IEC 9899:2011): 7.27.3.3 gmtime函数(p:393-394)

K.3.8.2.3 gmtime_s函数(p:626-627)

C99标准(ISO / IEC 9899:1999): 7.23.3.3 gmtime函数(p:343)

C89 / C90标准(ISO / IEC 9899:1990): 4.12.3.3 gmtime函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值