免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1792 | 回复: 4
打印 上一主题 下一主题

找一个能够格式花时间的函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-16 12:14 |只看该作者 |倒序浏览
我用stat()函数取得文件修改时间后,得到一个自1970以来的秒数,用localtime格式化后的结果是Tue Aug 16 01:46:39 2005,我想得到如下格式的日期2005-08-15 22:30:00,请问有什么函数可以实现?
还有请高手指点那儿能找到比较全的类库查询地方,谢谢

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2005-08-16 12:32 |只看该作者

找一个能够格式花时间的函数

  1. D:\MoChou>;perl -e "print sprintf '%04d-%02d-%02d %02d:%02d:%02d', (localtime)[5]
  2. +1900, (localtime)[4]+1, (localtime)[3,2,1,0]"
  3. 2005-08-16 12:34:34
  4. D:\MoChou>;
复制代码

论坛徽章:
0
3 [报告]
发表于 2005-08-16 13:38 |只看该作者

找一个能够格式花时间的函数

感谢版主的帮助,嘿嘿

论坛徽章:
0
4 [报告]
发表于 2005-08-16 14:30 |只看该作者

找一个能够格式花时间的函数


  1. $ perl -MPOSIX -e 'print POSIX::strftime("%Y-%m-%d %H:%M:%S", localtime),"\n"'
复制代码

论坛徽章:
0
5 [报告]
发表于 2005-08-16 15:23 |只看该作者

找一个能够格式花时间的函数

运行环境 linux AS3U3
perl 5.8.0
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($mtime);
$mytime=print sprintf '%04d-%02d-%02d %02d:%02d:%02d',${year}+1900,$mon+1,$mday,$hour,$min,$sec;
print ${mytime}."\n";

结果2005-08-12 13:45:421
秒数为什么出现421?
还有我这个写法有些笨拙,如何能简化些呢?谢谢



楼上的
perl -MPOSIX -e 'print POSIX::strftime("%Y-%m-%d %H:%M:%S", localtime),"\n"'
可以比较好的完成,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP