C/C++如何获取当前系统时间的实例详解
在C/C++语言中,获取当前系统时间可以通过调用系统库函数来实现。常用的获取当前系统时间的函数有time、localtime、strftime等函数。下面将详细介绍这些函数的使用方法。
time函数
time函数用来获取当前系统时间的时间戳,其函数的原型如下:
#include <time.h>
time_t time(time_t* timer);
其中,timer参数可以指定为一个指向 time_t 类型的指针,用于接收当前系统时间的时间戳。如果 timer 参数为 NULL,则不返回时间戳,而是直接将当前系统时间返回。以下是一个示例代码:
#include <stdio.h>
#include <time.h>
int main() {
time_t now;
struct tm* p;
time(&now);
printf("当前系统时间戳: %ld\n", now);
printf("当前日期和时间: %s", ctime(&now));
return 0;
}
运行上述代码,会输出当前系统时间戳和日期时间。其中,ctime函数可以将时间戳转换成字符串格式的日期时间。
localtime函数
localtime函数可以将时间戳转换成本地时间,其函数原型如下:
#include <time.h>
struct tm* localtime(const time_t* timer);
该函数返回一个指向 struct tm 结构体类型的指针,该结构体包含了当前时间的年、月、日、时、分、秒等信息。以下是示例代码:
#include <stdio.h>
#include <time.h>
int main() {
time_t now;
struct tm* local;
now = time(NULL);
local = localtime(&now);
printf("当前时间: %d年%d月%d日 %d时%d分%d秒\n",
local->tm_year + 1900, local->tm_mon + 1, local->tm_mday,
local->tm_hour, local->tm_min, local->tm_sec);
return 0;
}
运行上述代码,会输出当前时间的年、月、日、时、分、秒等信息。
strftime函数
strftime函数可以将 struct tm 结构体类型转换成字符串格式的日期时间,其函数原型如下:
#include <time.h>
size_t strftime(char* s, size_t max, const char* format, const struct tm* tm);
其中,s参数指定字符串存储的位置,max参数指定s的大小(包括空字符的大小),format参数指定输出格式,tm参数指定时间信息。以下是示例代码:
#include <stdio.h>
#include <time.h>
int main() {
time_t now;
struct tm* local;
char buf[80];
now = time(NULL);
local = localtime(&now);
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", local);
printf("当前时间: %s\n", buf);
return 0;
}
运行上述代码,会输出当前时间的字符串格式化信息。其中,%Y、%m、%d、%H、%M、%S等为格式化控制字符,用于指定输出的时间信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C/C++如何获取当前系统时间的实例详解 - Python技术站