gpt4 book ai didi

c - 使用 strftime 获取时间戳

转载 作者:行者123 更新时间:2023-11-30 17:11:22 24 4
gpt4 key购买 nike

我的时间以秒为单位long tv_sec,并且我想使用格式%Y-%m-%d %X获取正确的日期和时间,使用函数stftime。所以我有以秒为单位的时间戳,我想使用 stftime 对其进行转换。

这是我的试用

struct tm dateStruct;
memset(dateStruct, 0, sizeof(struct tm));

gmtime(&timestampInSecs,dateStruct);

char buffer[80];

strftime(buffer,80,"%Y-%m-%d %X", dateStruct);
printf("Formatted date & time : |%s|\n", buffer );

最佳答案

确保 timestampInSecstime_t 类型,然后尝试以下操作:

    char buffer[80];

strftime(buffer,80,"%Y-%m-%d %X", gmtime(&timestampInSecs));

printf("Formatted date & time : |%s|\n", buffer );

编辑

示例:如果您有 timestampInSecs 表示 1/1/2000 中的秒数,则必须使用 1/1/19701/1/1970< 中的所有秒数来补偿该变量 (Linux time.h 中的纪元)从 1970 年 1 月 1 日到 2000 年 1 月 1 日,我们有:

  • 10957
  • 262968 小时
  • 946684800

最后,您必须将 946684800 与变量相加,才能使用 strftime,如我的代码所示。

然后您必须做的是计算 1/1/1970 与您的开始日期和时间(timestampInSecs=0 的日期和时间)之间的秒数 p>

关于c - 使用 strftime 获取时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32349675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com