C "time.h"库中定义了几个方便我们调用打印时间的函数
一、time_t time( time_t* )
time()可以获取当前的时间,但是这个时间是以秒数给出的,如果参数为NULL,那么它就将时间返回,如果不为NULL,那就将时间保存在给定的地址中
二、clock_t clock( void )
clock()函数计算程序从开始执行到指定位置CPU所用的时间,但不是足够精确。如果要精确的时间,可以通过两个时刻相减来计算,然后将得到的值/CLOCKS_PER_SEC的到秒数
三、char* ctime( time_t const *timeVal )
如果ctime()函数接收了一个time_t类型的参数,它将返回一个固定格式的字符串来描述这个时间
四、double difftime( time_t time1, time_t time2 )
difftime()函数可以计算两个时刻的时间差,并以double类型的形式返回
五、struct tm *gmtime( time_t const *timeVal )
struct tm *localtime( time_const *timeVal )
这两个函数都可以将给定的时间转化为一个结构体指针返回,gmtime将时间转化为UTC(世界协调时间
六、char *asctime( struct tm const *tm_ptr )
asctime()函数将给定的struct tm 结构体转化成固定格式的字符串并返回指向这个字符串的指针
七、size_t strftime( char *string, size_t maxsize, char const *format, struct tm const *tm_ptr )
strftime()和asctime()相似,但是它可以按给定的格式输出,比asctime()灵活
下面是几种打印时间的方法:
一
/*time(NULL)获取当前时间(以s表示),localtime(time_t* )将time_t转化为一个结构体,
asctime(struct tm* )将struct tm转化为一个字符串返回*/
time_t currentTm = time(NULL);
puts(asctime(localtime(¤tTm)));
二
//ctime(time_t* )将time_t转化为一个字符串返回
time_t currentTm = time(NULL);
fputs(ctime(¤tTm), stdout);
三
/*使用函数size_t tm* strftime(char *buffer, size_t sizeInBytes, char *formatStr, struct tm *_Tm)
按给定的格式输出*/
char strTm[50] = { 0 };
/*struct tm structTm;*/
time_t currentTm;
time(¤tTm);
/*localtime_s(&structTm, ¤tTm);
strftime(strTm, sizeof(strTm), "%x %X", &structTm);*/
strftime(strTm, sizeof(strTm), "%x %X", localtime(¤tTm));
puts(strTm);