gpt4 book ai didi

c++ - 使用 ctime 转换 UNIX 时间戳

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:10:07 24 4
gpt4 key购买 nike

我有一个unix时间戳如下

  char timestamp[100];
strcpy(timestamp,"701729943");
time_t timeval=ctime(timestamp);
printf("Time %s",timeval);

如果检查在线 unix 时间转换器中时间戳的值,它显示 1992 年 3 月 27 日,但如果检查程序的输出,它显示 1996 年 2 月 25 日。如何纠正这个问题?

最佳答案

您正在以错误的方式使用 ctime:它需要一个指向 time_t 的指针并返回一个字符串,而您向它传递一个字符串并期望它返回一个 time_t。你的编译器不会警告你吗?

无论如何,它应该以这种方式使用:

time_t timeval = 701729943;
printf("Time %s", ctime(&timeval));

如果您只有字符串形式的 UNIX 时间戳,请使用 strtoulatoi 从中生成 time_t,然后执行这个。

关于c++ - 使用 ctime 转换 UNIX 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28179897/

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