php 24小时格式的日期转换为12小时的日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 24小时格式的日期转换为12小时的日期相关的知识,希望对你有一定的参考价值。
今天下午做一个商城站,用到限时秒杀的功能。需要一个js选择时间的插件,从网上down了一个,插件是选择到秒的,24小时制。需要把
转换为12小时制的。本来使用的是 strtotime 函数,但是发现24小时制的字符串在使用这个函数转换为时间戳的时候会强制转换为12小时制的上午的格式,这样,只要用这个插件选择了超过十二点的时间,就会出现错误。所以,要做的就是把24小时的时间转换为12小时制的时间。
经测试,要时间格式,需要先创建一个 DateTime 时间对象。方法为
然后,使用
将日期对象转换为想要的格式,就OK了。这个函数直接转换字符串是不行的。这也是我刚开始一直转换失败的原因。
具体过程为:
其中,data数组的start_time参数为传递过来的时间格式的字符串。
tips:在解决时间戳问题的时候,原来转换时,还遇到了一个问题,就是误将date参数设置为 Y-m-d h:m:s
结果在上传之后,发现时间一直有错误。后来才发现,分钟误设置为了m,而m在date中表示的是月份。
但是在请教同事的时候,同事说,m参数在这种情况
也就是不显示年月,只显示时分秒的时候用m是可以代表分钟的。但是经过测试,并不是这样。在这种情况下,时间戳的转换依然会出现原先的错误。
所以得出结论,m只可以作为月的参数在这个函数中使用。
tips:strtotime函数可以将字符串格式的时间转换为时间戳。如果传入了下午的时间,需要将上午下午的信息放在最后。
即可。
至于DateTime对象有没有办法转换为时间戳的方法?有,感觉那个函数格式有点麻烦,就未尝试使用。
以上是关于php 24小时格式的日期转换为12小时的日期的主要内容,如果未能解决你的问题,请参考以下文章
如何将 12 或 24 小时时间格式的日期转换为“互联网”日期?
swift - 如何将日期从上午/下午转换为 24 小时格式