gpt4 book ai didi

有人能告诉我为什么我的时间不会打印实际时间吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:32:14 24 4
gpt4 key购买 nike

我不知道我的逻辑有什么问题:

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

int main() {

time_t seconds=time(NULL);

int time[5] = { 1,60,3600,86400,31536000 };
int second = (seconds % time[1])/time[0];
int minute = (seconds % time[2])/time[1];
int hour = (seconds % time[3])/time[2];

printf("%d:%d:%d\n", hour, minute, second);

}

它没有显示错误,但我无法打印准确的时间。

最佳答案

我不依赖那些手动转换,而是使用 struct tm 并将转换留给 localtime 函数:

#include <time.h>
int main() {

time_t now;
struct tm *now_tm;
int hour, minute, second;

now = time(NULL);
now_tm = localtime(&now);
hour = now_tm->tm_hour;
minute = now_tm->tm_min;
second = now_tm->tm_sec;

printf("%d:%d:%d\n", hour, minute, second);
}

这也会处理您观察到的小时偏移,我认为这是由于时区差异造成的。

关于有人能告诉我为什么我的时间不会打印实际时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58603619/

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