如果日期变量为空,如何将 php strtotime 强制为 return 今天的日期?
How to force php strtotime to return today date if date variable is empty?
我在 HTML 页面中有一个 js 日历,我将选择的日期传递到 PHP 文件中。目前,日期字段是必填的,如果在日历中没有选择日期,它将显示默认的 1970/01/01。
我正在尝试更改行为,以便在未选择日期时将当前日期传递到 PHP 文件中。
PHP 文件中的代码如下:
$mydate = strtotime($_POST['mydate']);
$mydate = date("Y/m/d",$mydate);
如果 $_POST['mydate']
没有传递任何值,我如何更改它以显示当前日期?
PS:我是 PHP 函数的新手,在论坛中搜索类似案例没有帮助。
你得到那个的原因是因为 strtotime return如果它不能解析日期,它就是 false。
False 类型转换为 0
,0
的日期为 1970。
您可以做的是检查 strtotime return 是否为假。 (我认为与isset或0不同)。
$mydate = strtotime($_POST['mydate']);
if($mydate === false){ // === is strict comparison
$mydate = date("Y/m/d");
}else{
$mydate = date("Y/m/d",$mydate);
}
试试这个:
if( empty( $_POST['mydate'])){
$mydate = date("Y/m/d");
} elseif( FALSE !== $tm = strtotime( $_POST['mydate'])) {
$mydate = date("Y/m/d", $tm);
} else {
$mydate = date("Y/m/d");
}
我在 HTML 页面中有一个 js 日历,我将选择的日期传递到 PHP 文件中。目前,日期字段是必填的,如果在日历中没有选择日期,它将显示默认的 1970/01/01。
我正在尝试更改行为,以便在未选择日期时将当前日期传递到 PHP 文件中。
PHP 文件中的代码如下:
$mydate = strtotime($_POST['mydate']);
$mydate = date("Y/m/d",$mydate);
如果 $_POST['mydate']
没有传递任何值,我如何更改它以显示当前日期?
PS:我是 PHP 函数的新手,在论坛中搜索类似案例没有帮助。
你得到那个的原因是因为 strtotime return如果它不能解析日期,它就是 false。
False 类型转换为 0
,0
的日期为 1970。
您可以做的是检查 strtotime return 是否为假。 (我认为与isset或0不同)。
$mydate = strtotime($_POST['mydate']);
if($mydate === false){ // === is strict comparison
$mydate = date("Y/m/d");
}else{
$mydate = date("Y/m/d",$mydate);
}
试试这个:
if( empty( $_POST['mydate'])){
$mydate = date("Y/m/d");
} elseif( FALSE !== $tm = strtotime( $_POST['mydate'])) {
$mydate = date("Y/m/d", $tm);
} else {
$mydate = date("Y/m/d");
}