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?

4

1 回答 1

2

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

于 2012-06-19T09:03:04.623 回答