网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 前端脚本 » 正文

strftime,strftime函数使用方法

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;


  }


  运行截图:

  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    相关推荐