gpt4 book ai didi

c - 给日期加秒

转载 作者:太空狗 更新时间:2023-10-29 16:36:48 25 4
gpt4 key购买 nike

我需要给日期加秒。例如,如果我有一个日期,如 2009127000000,我需要将秒数添加到该日期。又如,20091231235957 加 50 秒。

这在 C 中可能吗?

最佳答案

在 POSIX 中,time_t 值指定为秒,但 C 标准不保证这一点,因此在非 POSIX 系统上可能不正确。它通常是(事实上,我不确定它不是代表秒的值的频率)。

这是一个添加时间值的示例,它不假设 time_t 使用标准库工具表示秒,这对于操纵时间来说并不是特别好:

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

int main()
{
time_t now = time( NULL);

struct tm now_tm = *localtime( &now);


struct tm then_tm = now_tm;
then_tm.tm_sec += 50; // add 50 seconds to the time

mktime( &then_tm); // normalize it

printf( "%s\n", asctime( &now_tm));
printf( "%s\n", asctime( &then_tm));

return 0;
}

将您的时间字符串解析为适当的 struct tm 变量留作练习。 strftime() 函数可用于格式化新格式(POSIX strptime() 函数可帮助解析)。

关于c - 给日期加秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1859201/

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