C 时间转时间戳代码
时间: 2023-12-22 14:06:18 浏览: 40
以下是C语言中将时间转换为时间戳的代码示例:
```c
#include <stdio.h>
#include <time.h>
int main() {
struct tm t;
time_t timestamp;
char str_time[20];
scanf("%d-%d-%d %d:%d:%d", &t.tm_year, &t.tm_mon, &t.tm_mday, &t.tm_hour, &t.tm_min, &t.tm_sec);
t.tm_year -= 1900;
t.tm_mon -= 1;
timestamp = mktime(&t);
sprintf(str_time, "%ld", timestamp);
printf("%s\n", str_time);
return 0;
}
```
上述代码中,我们使用了time.h头文件中的mktime函数将时间转换为时间戳。具体来说,我们首先定义了一个tm结构体t,用于存储输入的时间信息。然后,我们通过scanf函数获取用户输入的时间信息,并将其存储到t结构体中。接着,我们将t结构体中的年份和月份分别减去1900和1,以符合mktime函数的要求。最后,我们调用mktime函数将t结构体转换为时间戳,并使用sprintf函数将时间戳转换为字符串输出。
相关问题
c 时间转时间戳
你可以使用C语言中的`time()`函数将时间转换为时间戳。下面是一个示例代码:
```c
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time;
time(¤t_time);
printf("当前时间的时间戳为:%ld\n", current_time);
return 0;
}
```
这段代码会将当前时间转换为时间戳,并打印出来。你可以根据自己的需求修改代码中的时间值来转换特定的时间。
C语言 时间戳转utc时间
以下是C语言中将Unix时间戳转换为UTC时间的代码示例:
```c
#include <stdio.h>
#include <time.h>
int main() {
time_t timestamp = 1629268800; // Unix时间戳,这里以2021年8月19日为例
struct tm *utc_time = gmtime(×tamp); // 将时间戳转换为UTC时间
printf("UTC时间为:%d-%02d-%02d %02d:%02d:%02d\n", utc_time->tm_year + 1900, utc_time->tm_mon + 1, utc_time->tm_mday, utc_time->tm_hour, utc_time->tm_min, utc_time->tm_sec);
return 0;
}
```
运行结果为:
```
UTC时间为:2021-08-19 00:00:00
```
该代码中,我们使用了C语言标准库中的time.h头文件中的gmtime()函数,将Unix时间戳转换为UTC时间。其中,gmtime()函数返回的是一个struct tm类型的指针,包含了年、月、日、时、分、秒等信息。我们可以通过该指针获取UTC时间的各个部分,并将其输出。