2020-5-18 14:30:56 | 作者:老铁SEO | 0个评论 | 人浏览
strftime
语法:
#include<time.h>
size_tstrftime(char*str,size_tmaxsize,constchar*fmt,structtm*time);
功能:函数按照参数fmt所设定格式将time类型的参数格式化为日期时间信息,然后存储在字符串str中(至多maxsize个字符)。用于设定时间不同类型的代码为:
代码
含义
%a
星期的缩略形式
%A
星期的完整形式
%b
月份的缩略形式
%B
月份的完整形式
%c
月份的缩略形式
%d
月中的第几天(1-31)
%H
小时,24小时格式(0-23)
%I
小时,12小时格式(1-12)
%j
年中的第几天(1-366)
%m
月份(1-12).Note:某些版本的MicrosoftVisualC++可能使用取值范围0-11.
%M
分钟(0-59)
%p
本地时间的上午或下午(AMorPM)
%S
秒钟(0-59)
%U
年中的第几周,星期天是一周的第一天
%w
星期几的数字表示(0-6,星期天=0)
%W
一年中的第几周,星期天是一周的第一天
%x
标准日期字符串
%X
标准时间字符串
%y
年(0-99)
%Y
用CCYY表示的年(如:2004)
%Z
时区名
%%
百分号
函数strftime()返回值7a686964616fe59b9ee7ad9431333264643831为处理结果字符串str中字符的个数,如果发生错误返回零。
python中的time库中的strftime小时表示与正确时间不同
pipinstallpytz
安装pytz这个百模块用度于设置时区信息专。
然后:属
importdatetime,pytz
a=datetime.datetime.now(pytz.timezone('Asia/Shanghai'))
print(a)追问需要在网上下载这个库吗?
意思是time里面的时区不是北京时区吗?
本回答被提问者和网友采纳
请教awk里strftime的用法
是英语Stringfromtime的意思,就是说把zhidao给出的UNIX时间戳转换成可读的时间字符串输出:回
o@t:~/tmp$awk'BEGIN{
printstrftime("%Y%m%d%H:%M:%S",132)
}'
1970010107:32:12
o@t:~/tmp$awk'BEGIN{
printstrftime("%Y%m%d%H:%M:%S",1324)
}'
1970010107:52:04
o@t:~/tmp$awk'BEGIN{
printstrftime("%Y%m%d%H:%M:%S",13245)
}'
1970010111:10:45
o@t:~/tmp$awk'BEGIN{
printstrftime("%Y%m%d%H:%M:%S",0)
}'
1970010107:30:00
一般配合答systime()函数使用,例如,打印当前时间:
o@t:~/tmp$awk'BEGIN{
printstrftime("%Y%m%d%H:%M:%S",systime())
}'
2017011811:54:12
C++strftime方法格式输出时间错误
C/C++中,数组作参数copy时,会退化成指针,所以你用sizeof(out)计算出来的长度就是指针的长度,根据你操作系统的位数,有可能是4或者8,也知就是说最多往out里写4或者8个字节,所以,出来的结果就不对了,改一下就行了:
#include<stdio.h>
#include<time.h>
voidgetSysTime(char*out,constchar*format)
{
time_tt=time(NULL);
structtm*tm=localtime(&t);
strftime(out,100,format,tm);//可以接收的最大字符数修改一下,注意字符串结束符,我这里没处理,因为一般需要的长道度不会超过100
}
intmain()
{
charcTime[100]={0};
getSysTime(cTime,"%Y-%m-%d%H:%M:%S");
printf("%s\n",cTime);
return0;
}
运行截图: