gpt4 book ai didi

c++ - 时间戳问题

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

我得到了一个时间戳字符串作为 3.44063E+08。如何将它转换为正常时间,例如12:10:22等。

最佳答案

数值是一个time_t,需要将其转换为本地时间或格林威治时间,即localtime()gmtime(),分别,之后您可以使用 strftime() 以您选择的格式打印。

这是一个快速而完整的示例:

edd@max:/tmp$ cat timeformat.c 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void) {
time_t tt = 3.44063E+08;
struct tm tm;
char buf[32];

tm = *localtime(&tt);

strftime(buf, 31, "%Y-%m-%d %H:%M:%S", &tm);
printf("%s\n", buf);
return 0;
}
edd@max:/tmp$ gcc -o timeformat timeformat.c
edd@max:/tmp$ ./timeformat
1980-11-25 23:03:20
edd@max:/tmp$

编辑: 当您标记问题 C++ 时,请查看 Boost Date_Time这有很多东西可以提供。但正如我的示例所示,对于简单的“数字到文本”转换,您不需要它。

关于c++ - 时间戳问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5643954/

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