遇到需要用到限时秒杀的功能。需要一个js选择时间的插件,从网上down了一个,插件是选择到秒的,24小时制。需要把 转换为12小时制的。本来使用的是 strtotime 函数,但是发现24小时制的字符串在使用这个函数转换为时间戳的时候会强制转换为12小时制的上午的格式,这样,只要用这个插件选择了超过十二点的时间,就会出现错误。所以,要做的就是把24小时的时间转换为12小时制的时间。
经测试,要时间格式,需要先创建一个 DateTime 时间对象。方法为 然后,使用 将日期对象转换为想要的格式,就OK了。这个函数直接转换字符串是不行的。这也是我刚开始一直转换失败的原因。
具体过程为: 其中,data数组的start_time参数为传递过来的时间格式的字符串。
tips:在解决时间戳问题的时候,原来转换时,还遇到了一个问题,就是误将date参数设置为
Ymd hms
结果在上传之后,发现时间一直有错误。后来才发现,分钟误设置为了m,而m在date中表示的是月份。
但是在请教同事的时候,同事说,m参数在这种情况 也就是不显示年月,只显示时分秒的时候用m是可以代表分钟的。但是经过测试,并不是这样。在这种情况下,时间戳的转换依然会出现原先的错误。
所以得出结论,m只可以作为月的参数在这个函数中使用。
tips:strtotime函数可以将字符串格式的时间转换为时间戳。如果传入了下午的时间,需要将上午下午的信息放在最后。
即可。
至于DateTime对象有没有办法转换为时间戳的方法?有,感觉那个函数格式有点麻烦,就未尝试使用。