【发布时间】:2014-06-02 13:35:57
【问题描述】:
我一直在努力寻找这个问题的确切答案。有很多接近我想要的,但似乎仍然只是关闭。这样做是为了确保无法预订过去的日期。
我有一个输入时间和另一个日期的表单。首先,我不想同时接受这两个输入并将它们转换为时间戳。
此代码不返回任何内容
$time_date = sprintf("%s %s", $pDate, $pTime);
$objDate = DateTime::createFromFormat('H:ia d/m/Y', $time_date);
$stamp = $objDate->getTimestamp();
echo $stamp;
所以我尝试过使用类似的东西
$pDate = $_POST['pDate'];
$pTime = $_POST['pTime'];
$full_date = $pDate . ' ' . $pTime;
$timestamp = strtotime($full_date);
echo $timestamp;
但由于某种原因,它返回的时间戳不正确。 (我一直在使用在线转换器)02/06/2014 作为日期和 12:23am 作为时间,不是 1401625380。根据转换器,这是星期日,2014 年 6 月 1 日 12:23:00 GMT。 有人有返回时间和日期输入的时间戳的工作代码吗?
其次,我想将此时间戳与指定的时间戳进行比较并检查它是否大于。我用这个为我的时区创建了一个时间戳
$date = new DateTime(null, new DateTimeZone('Pacific/Auckland'));
$cDate = $date->getTimestamp();
echo $cDate;
并且只会有一个 if 语句来比较两者并回显适当的消息。 我觉得这里有多个问题几乎是我想要实现的,但我无法让它们发挥作用。为接近重复的人道歉。
注意:我正在使用 ajax 发布表单数据(如果这可能会干扰)。
【问题讨论】:
-
"02/06/2014" 至少在一种日期格式中是 2 月 6 日。我建议在 strtotime 中使用 'Y-m-d H:i' 格式。
-
$pDate 和 $pTime 的 var_dump 是什么样的?
-
字符串(10)“2014-06-05”字符串(5)“16:23”
标签: php date datetime strtotime