下午时间反映0


strtotime afternoon times reflecting 0

我遇到了一个问题,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 的小时数。