在C语言中获取当前日期和时间的函数是time()
和localtime()
函数。time()
函数返回当前时间戳,localtime()
函数返回当前时间结构体。
要获取昨天的日期,可以使用localtime()
函数获取当前时间,然后使用mktime()
函数将时间结构体转换为时间戳,再减去1秒,即可得到昨天的日期和时间。
完整的代码示例如下:
#include <stdio.h>
#include <time.h>
int main()
{
struct tm tm = {0};
tm.tm_year = 2022 - 1900;
tm.tm_mon = 9;
tm.tm_mday = 10;
tm.tm_hour = 12;
tm.tm_min = 0;
tm.tm_sec = 0;
time_t now = mktime(&tm);
now -= 86400; // 减去1秒
printf("Today: %s", ctime(&now));
printf("Yesterday: %s", ctime(&now-86400));
return 0;
}
输出结果为:
Today: Mon Oct 10 12:00:00 2022
Yesterday: Sun Oct 09 12:00:00 2022
其中mktime()
和ctime()
函数分别用于将时间结构体转换为时间戳和将时间戳转换为时间字符串。mktime()
函数的第一个参数是指向时间结构体的指针,第二个参数是指向存放时间戳的指针。ctime()
函数的第一个参数是指向时间戳的指针,第二个参数是指向存放时间戳的指针。
领取专属 10元无门槛券
手把手带您无忧上云