w=10=sh strtotime sh=11=sh false
PHP strtotime returns false
我有一个 jquery 函数,它将日期 '27/05/2016 11:25 PM' 传递到 PHP 文件。 PHP 文件会将此更新到数据库。
我正在使用 strtotime 将此字符串转换为日期格式 '05/27/2016 11:25 PM',但 strtotime returns 为假。
我的 PHP 日期转换:
$EndDate = strtotime($Date);
$NewEndDateValue = date('m/d/Y h:i A', $EndDate);
var_dump($NewEndDateValue); //this returns false
strtotime()
默认情况下将带有 /
分隔符的日期视为奇怪的美国日期格式,它们从日期的中间开始并从那里向外工作(见图)。这样说很好,但期望逻辑机器(计算机)以这种方式工作是完全不合逻辑的。
无论如何,您需要做的就是将 /
转换为 -
并且 date()
将采用合乎逻辑的日期格式并因此起作用。
<?php
$Date = '27/05/2016 11:25 PM';
$dat = str_replace('/', '-', $Date);
$EndDate = strtotime($dat);
$NewEndDateValue = date('m/d/Y h:i A', $EndDate);
var_dump($NewEndDateValue); // "05/27/2016 11:25 PM"
我有一个 jquery 函数,它将日期 '27/05/2016 11:25 PM' 传递到 PHP 文件。 PHP 文件会将此更新到数据库。
我正在使用 strtotime 将此字符串转换为日期格式 '05/27/2016 11:25 PM',但 strtotime returns 为假。
我的 PHP 日期转换:
$EndDate = strtotime($Date);
$NewEndDateValue = date('m/d/Y h:i A', $EndDate);
var_dump($NewEndDateValue); //this returns false
strtotime()
默认情况下将带有 /
分隔符的日期视为奇怪的美国日期格式,它们从日期的中间开始并从那里向外工作(见图)。这样说很好,但期望逻辑机器(计算机)以这种方式工作是完全不合逻辑的。
无论如何,您需要做的就是将 /
转换为 -
并且 date()
将采用合乎逻辑的日期格式并因此起作用。
<?php
$Date = '27/05/2016 11:25 PM';
$dat = str_replace('/', '-', $Date);
$EndDate = strtotime($dat);
$NewEndDateValue = date('m/d/Y h:i A', $EndDate);
var_dump($NewEndDateValue); // "05/27/2016 11:25 PM"