gpt4 book ai didi

c++ - 从通用时间字符串中获取 time_t?

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

如果我有这个字符串:

2011-10-08T07:07:09Z

是否有可能从中获取time_t?如果可以,如何实现?

最佳答案

是的,是的。首先,使用 strptime(3) 将其转换为 segmentation 时间。这为您提供了一个 struct tm,它是分解时间的结构类型。

从那里,您可以使用 mktime(3) 转换为 time_t

这是一个例子:

#define _XOPEN_SOURCE
#include <time.h>
#include <stdio.h>
#include <string.h>

int main(void) {
const char *date_example = "2011-10-08T07:07:09Z";
struct tm broken_down;

memset(&broken_down, 0, sizeof(broken_down));

strptime(date_example, "%Y-%m-%dT%H:%M:%SZ", &broken_down);
broken_down.tm_isdst = 0; // Indicates that DST is not in effect
time_t epoch_time = mktime(&broken_down);

// Note: this is platform dependent
printf("Epoch time: %lld\n", (long long) epoch_time);

return 0;
}

关于c++ - 从通用时间字符串中获取 time_t?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30925112/

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