localtime函数

功能:

把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间,而gmtime函数转换后的时间没有经过时区变换,是UTC时间 。

用法:

#include <time.h>

struct tm *localtime(const time_t *clock);

返回值:

指向tm 结构体的指针, tm结构体是time.h中定义的用于分别存储时间的各个量(年月日等)的结构体.

 

strftime函数

功能:

根据区域设置,格式化本地时间/日期,功能就是将时间格式化

用法:

#include <time.h>

size_t strftime(char * strDest,  size_t maxszie, const char * format,  const struct tm*  timeptr);

 

 

示例如下:

#include <stdio.h>
#include <unistd.h>
#include <time.h>

int main(void)
{
   char ct[80];
   time_t  tt;
   struct tm *tblock;

   tt = time(NULL);
   tblock = localtime(&tt);

   printf(“Local time is %s\n”, asctime(tblock));

   strftime(ct, sizeof(ct), “%Y-%m-%d %H:%M:%S”, tblock);
   printf(“now is %s\n”, ct);

   return 0;
}

 

结果:

 

备注:

strftime函数常使用的formate参数:

specifierReplaced byExample%aAbbreviated weekday name *Thu%AFull weekday name *Thursday%bAbbreviated month name *Aug%BFull month name *August%cDate and time representation *Thu Aug 23 14:55:02 2001%dDay of the month (01-31)23%HHour in 24h format (00-23)14%IHour in 12h format (01-12)02%jDay of the year (001-366)235%mMonth as a decimal number (01-12)08%MMinute (00-59)55%pAM or PM designationPM%SSecond (00-61)02%UWeek number with the first Sunday as the first day of week one (00-53)33%wWeekday as a decimal number with Sunday as 0 (0-6)4%WWeek number with the first Monday as the first day of week one (00-53)34%xDate representation *08/23/01%XTime representation *14:55:02%yYear, last two digits (00-99)01%YYear2001%ZTimezone name or abbreviationCDT%%A % sign%

转载于:https://www.cnblogs.com/rohens-hbg/p/7921344.html