C语言判断两个时间戳是否是同一天
时间: 2023-08-20 20:05:13 浏览: 329
在C语言中,可以使用time.h头文件中的gmtime和mktime函数来实现判断两个时间戳是否是同一天。具体实现如下:
```c
#include <stdio.h>
#include <time.h>
int is_same_day(time_t timestamp1, time_t timestamp2) {
struct tm* timeinfo1 = gmtime(×tamp1);
struct tm* timeinfo2 = gmtime(×tamp2);
// 将日期部分置为0,只保留时间部分
timeinfo1->tm_mday = 0;
timeinfo1->tm_mon = 0;
timeinfo1->tm_year = 0;
timeinfo2->tm_mday = 0;
timeinfo2->tm_mon = 0;
timeinfo2->tm_year = 0;
time_t time1 = mktime(timeinfo1);
time_t time2 = mktime(timeinfo2);
return time1 == time2;
}
int main() {
time_t timestamp1 = 1632082800;
time_t timestamp2 = 1632126000;
if (is_same_day(timestamp1, timestamp2)) {
printf("两个时间戳是同一天\n");
} else {
printf("两个时间戳不是同一天\n");
}
return 0;
}
```
其中,gmtime函数将时间戳转换为struct tm结构体,mktime函数将struct tm结构体转换为时间戳,通过将日期部分置为0,只保留时间部分,最终比较两个时间戳是否相同来判断是否是同一天。
阅读全文