PHP:当时间格式化为 12:00a 时,strtotime 不起作用

我正在尝试使用 PHP 的 strtotime() 函数将字符串转换为时间戳。当它被格式化为 12:00am 时,这可以正常工作,但是,如果它被格式化为 12:00a 或 12:00p,我会得到不一致的结果。

最好的方法是什么?我想将 12:00a 转换为时间戳,而不是 12:00am,但有时可以将其格式化为 12:00am。


桃花长相依
浏览 220回答 1
1回答

慕桂英546537

一种可能的解决方案 - 添加m到时间字符串的末尾:$str = '12:00a';echo strtotime($str . ($str[-1] != 'm' ? 'm' : ''));// or more strict checkecho strtotime($str . ($str[-1] == 'a' || $str[-1] == 'p' ? 'm' : ''));
打开App,查看更多内容
随时随地看视频慕课网APP