我遇到了一个问题,strtotime 将我的下午时间返回为 0。
这是我的代码:
date_default_timezone_set('Africa/Johannesburg');
$from = strtotime($_GET['meeting_date'] . ' ' . $_GET['meeting_start'] . ':00 ' . date('A',$_GET['meeting_start']));
$to = strtotime($_GET['meeting_date'] . ' ' . $_GET['meeting_end'] . ':00 ' . date('A',$_GET['meeting_end']));
基本上,用户选择日期(2012-06-19)并键入开始时间(筛选,14:00)和结束时间(筛选,15:00)。
然后,这块将给定的字符串转换为秒。
它适用于我在 13:00 之前键入的任何内容,但当我在 12:59 之后键入任何内容时返回 0
一些测试用例:
User Input:
Date: 2012-06-19
Start: 10:00
End: 11:50
Result:
start: 1340092800
end: 1340099400
User Input:
Date: 2012-06-19
Start: 11:50
End: 13:00
Result:
start: 1340099400
end: 0
这可能又是一个愚蠢的错误,但任何帮助将不胜感激。为什么它返回 0?
您将 12 小时制和 24 小时制格式混合在一起。日期格式 'A'
AM 和 PM 后缀表示正在使用 12 小时格式,因此基本上您无法处理大于 12 的小时数。