所以我需要在PHP中转到pm / am到24小时的时间,我们使用Yahoo API获取货币汇率,但它们似乎是在上午/下午给我们。
我认为日期可能会奏效,但是当我读到这个功能时,它就无法将下午变成24小时。
5: 55pm
答案 0 :(得分:8)
这应该有效
date("H:i", strtotime("5:55 pm"));
如果你想走另一条路,
date("g:i a", strtotime("17:55"));
答案 1 :(得分:0)
如果雅虎! API真的没有提供24小时返回时间的方法,你可以像sachleen建议的那样,或者使用正则表达式。
(\d{1,2}): (\d{2})(am|pm)
如果它是“pm”,那么只需将小时加12即可。
答案 2 :(得分:0)
使用date
和strtotime
的问题是您可能不得不担心时区...您从雅虎获得的内容可能与服务器的时区不符...这里是一个正则表达式方法:
$time = preg_replace_callback('~^([^:]+)(.*(a|p)m)$~',create_function('$m','return ($m[3]=="p")?(($m[1]+12).$m[2]):$m[0];'),$time);