求解正确时间格式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了求解正确时间格式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1480字,纯文字阅读大概需要3分钟。
内容图文
$s = 'Y1320101000000XP1026629512V544930568T6B15120K20000028';$mtime = date("Ymd",mktime(0,0,0,1,1,'20'.substr($s,-14,2)) + substr($s,-12,3) * 86400)-1;echo $mtime; //得到结果是20150500
我想得到20150430的结果,怎么修改?
注:Y1320101000000XP1026629512V544930568T6B 15120K20000028
红色部分代表15年第120天。
回复讨论(解决方案)
$s = 'Y1320101000000XP1026629512V544930568T6B15120K20000028';$mtime = strtotime('20'.substr($s,-14,2).'-00-00') + (substr($s,-12,3) * 86400);echo date('Y-m-d',$mtime);//2015-03-30
$s = 'Y1320101000000XP1026629512V544930568T6B15120K20000028';$mtime = strtotime('20'.substr($s,-14,2).'-00-00') + (substr($s,-12,3) * 86400);echo date('Y-m-d',$mtime);//2015-03-30
结果不对,不过感谢提供思路。
$s = 'Y1320101000000XP1026629512V544930568T6B15151K20000028';$mtime = strtotime('20'.substr($s,-14,2).'-01-01') + (substr($s,-12,3) * 86400)-1;echo date('Ymd',$mtime);
$s = 'Y1320101000000XP1026629512V544930568T6B15120K20000028';$mtime = date("Ymd", mktime(0, 0, 0, 1, substr($s,-12,3), substr($s,-14,2)));$d = $mtime;echo date("$d z", strtotime($d));20150430 119
那个 '20' 可以不要,加上也没问题
date('z') 表示年份中的第几天(注意1月1日是第0天)
请注意表述规则上的差异
一个日期这么隐藏。万一数据变了岂不是很麻烦。最好能写一个到一个function 中。
echo get_str_date('15140');function get_str_date($str){ $y = substr(date('Y'),0,2); $date_str = strtotime($y.substr($str,0,2).'-01-01') + (substr($str,-3,3) * 86400)-1; return date('Y-m-d',$date_str);}
内容总结
以上是互联网集市为您收集整理的求解正确时间格式全部内容,希望文章能够帮你解决求解正确时间格式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。