vpp c代码时间字符串转换为时间戳
时间: 2024-09-10 08:27:56 浏览: 94
vpp 源代码
在C语言中,将时间字符串转换成Unix时间戳(也称为秒级时间戳,自1970年1月1日 00:00:00 UTC以来的秒数),通常需要使用`strptime()`函数来解析日期和时间格式,然后用`mktime()`函数将其转换为时间戳。下面是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define FROM_DATE_FORMAT "%Y-%m-%d %H:%M:%S" // 时间字符串格式
int main() {
char* time_string = "2023-04-10 15:30:00"; // 示例时间字符串
struct tm time_struct;
long timestamp;
if (strptime(time_string, FROM_DATE_FORMAT, &time_struct) == NULL) { // 解析时间字符串
perror("Error parsing date");
return 1;
}
time_t raw_time = mktime(&time_struct); // 将struct tm转为时间戳
if (raw_time == -1) {
perror("Error converting to timestamp");
return 1;
}
timestamp = (long)raw_time; // 将时间戳从time_t类型转换为long
printf("Time string converted to timestamp: %ld\n", timestamp);
return 0;
}
```
在这个示例中,你需要确保`FROM_DATE_FORMAT`匹配你的时间字符串格式。如果时间字符串的格式有误,`strptime()`会返回NULL。
阅读全文