函数名: asctime
头文件: <time.h>
函数原型: char *asctime(const struct tm *t);
功 能: 将给定的日期和时间转换成ASCII码
参数: tm为要转换的结构体
返回值: 返回转换后的字符串指针
补充:
1. 将给定的日历时间tm转换为以下固定的25个字符格式的文本表示形式:
DDD MMM dd hh:mm:ss YYYY
DDD 一星期的某一天,如Mon
MMM 月份,如Jan
dd 月中一天(1,2,……,31)
hh 小时(1,2,……,24)
mm 分钟(1,2,……,59)
ss 秒数(1,2,……,59)
YYYY 年+1900
如果任何成员*time_ptr超出其正常范围,则行为是不确定的
如果指示的time_ptr->tm_year日历年份超过4位或小于1000 年,则行为不明确。
该函数不支持本地化,并且不能删除换行符。
2. struct *tm{
int tm_sec; //秒
int tm_min; //分
int tm_hour; //时
int tm_mday; //一个月份中的天数
int tm_mon; //月份
int tm_year; //年份
int tm_wday; //星期
int tm_yday; //一年中的天数
int tm_isdst; // 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。
}
程序例: 将时间结构体t转换为字符串时间描述,并将结果输出
#include<time.h> #include<stdio.h> #include<string.h> int main(void){ struct tm t; char str[80]; t.tm_sec = 1; t.tm_min = 30; t.tm_hour = 9; t.tm_mday = 22; t.tm_mon = 11; t.tm_year = 56; t.tm_wday = 4; t.tm_yday = 0; //不显示 t.tm_isdst = 0; //不实行夏令时 strcpy(str, asctime(&t)); printf("%s\n", str); return 0; }
运行结果:
Thu Dec 22 09:30:01 1956
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程