使用strftime格式化时间

Posted beckzhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用strftime格式化时间相关的知识,希望对你有一定的参考价值。

目标: 根据UTC时间, 输出任意格式的当地时间字符串

实现: 

char timeString[256];
struct tm tm;
time_t timeConverted = time(NULL);    // 获取当前时间
localtime_r(&(timeConverted),&tm);    //  转换成tm结构
strftime(timeString, sizeof(timeString), "%Y-%m-%d %H-%M-%S", &tm);  // 根据格式将tm转换到timeString中

specifierReplaced byExample
%a Abbreviated weekday name * Thu
%A Full weekday name * Thursday
%b Abbreviated month name * Aug
%B Full month name * August
%c Date and time representation * Thu Aug 23 14:55:02 2001
%C Year divided by 100 and truncated to integer (00-99) 20
%d Day of the month, zero-padded (01-31) 23
%D Short MM/DD/YY date, equivalent to %m/%d/%y 08/23/01
%e Day of the month, space-padded ( 1-31) 23
%F Short YYYY-MM-DD date, equivalent to %Y-%m-%d 2001-08-23
%g Week-based year, last two digits (00-99) 01
%G Week-based year 2001
%h Abbreviated month name * (same as %b) Aug
%H Hour in 24h format (00-23) 14
%I Hour in 12h format (01-12) 02
%j Day of the year (001-366) 235
%m Month as a decimal number (01-12) 08
%M Minute (00-59) 55
%n New-line character (‘\n‘)  
%p AM or PM designation PM
%r 12-hour clock time * 02:55:02 pm
%R 24-hour HH:MM time, equivalent to %H:%M 14:55
%S Second (00-61) 02
%t Horizontal-tab character (‘\t‘)  
%T ISO 8601 time format (HH:MM:SS), equivalent to %H:%M:%S 14:55:02
%u ISO 8601 weekday as number with Monday as 1 (1-7) 4
%U Week number with the first Sunday as the first day of week one (00-53) 33
%V ISO 8601 week number (00-53) 34
%w Weekday as a decimal number with Sunday as 0 (0-6) 4
%W Week number with the first Monday as the first day of week one (00-53) 34
%x Date representation * 08/23/01
%X Time representation * 14:55:02
%y Year, last two digits (00-99) 01
%Y Year 2001
%z ISO 8601 offset from UTC in timezone (1 minute=1, 1 hour=100)
If timezone cannot be determined, no characters
+100
%Z Timezone name or abbreviation *
If timezone cannot be determined, no characters
CDT
%% % sign %

以上是关于使用strftime格式化时间的主要内容,如果未能解决你的问题,请参考以下文章

(python基础)时间辍time时间元组localtime时间格式化strftime

linux strftime函数格式化时间为24/12小时制

如何获得这种类型的时间格式“2014 年 8 月 13 日,下午 4:04”使用strftime?

pandas使用strftime函数将dataframe的日期格式数据列按照指定格式(format)转化为日期(时间)字符串数据列

python datetime模块用strftime 格式化时间

apache httpd LogFormat 不支持 strftime 格式