题目
调用 C 语言标准时间库 <time.h>,获取系统当前的本地日期与时间,并格式化输出为形如 YYYY-MM-DD HH:MM:SS 的时间字符串。
输入格式:无键盘输入。
输出格式:输出当前系统时间的标准格式字符串(如 2026-09-30 11:20:00)。
数据范围与约定:依赖系统本地当前时钟。
思路与算法
1. time_t 与日历时间
调用 time_t now = time(NULL); 获取从纪元(1970-01-01 00:00:00 UTC)起至当前的秒数。
2. 本地时间转换与格式化
通过 struct tm *info = localtime(&now); 转换为带时区修正的本地时间结构体,再通过 strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", info); 生成格式化字符串。
完整程序
#include <stdio.h>
#include <time.h>
int main(void)
{
// 获取自 Unix 纪元(1970-01-01)以来的总秒数
time_t t = time(NULL);
// 转换为本地时区的分解时间结构体 struct tm
struct tm *lt = localtime(&t);
char buf[64];
// strftime 安全格式化时间输出(类似于 printf)
strftime(buf, sizeof buf, "%Y-%m-%d %H:%M:%S", lt);
printf("%s\n", buf);
return 0;
}运行示例
输出:
(当前时间)