gpt4 book ai didi

c - 时间转换

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:13 25 4
gpt4 key购买 nike

我想计算 GMT 时间和当前时间的时差。为此,我使用 mktime 将 tm 时间(格林威治标准时间)转换为 time_t 格式。和当前时间使用 time() api。

struct tm = x;  time_t t1, t2; 
time(&t1);
/* here x will get in GMT format */
t2 = mktime(&x);
sec = difftime(t2 , t1);

为了制作相同的时区,mktime() 是否会负责转换为本地时间?还是我需要显式添加 sec = difftime(t2 , gmtime(&t1);谢谢

最佳答案

mktime转换为本地时间,请看man:

http://www.mkssoftware.com/docs/man3/mktime.3.asp

mktime() : convert local time to seconds since the Epoch

编辑:要计算两个日期之间的时差,您可以使用此

    time_t t1, t2;
struct tm my_target_date;

/* Construct your date */
my_target_date.tm_sec = 0;
my_target_date.tm_min = 0;
my_target_date.tm_hour = 0;
my_target_date.tm_mday = 20;
my_target_date.tm_mon = 7;
my_target_date.tm_year = 112; /* Date today */
t1 = mktime (&my_target_date);
t2 = time (NULL);
printf ("Number of days since target date : %ld\n", (t2 - t1) / 86400); /* 1 day = 86400 sec, use 3600 if you want hours */

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

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