strtotime下午时间反映0

时间:2012-06-19 08:52:29

标签: php strtotime

我有一个问题,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?

1 个答案:

答案 0 :(得分:2)

您将12小时和24小时格式混合在一起。 AM和PM后缀的日期格式'A'表示正在使用12小时格式,因此基本上您无法处理大于12的小时数。