函数名:  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


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)