繁体   English   中英

如果date变量为空,如何强制php strtotime返回今天的日期?

[英]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无法解析日期,因此返回false。
False被强制转换为0 ,日期0为1970。

您可以做的是检查strtotime返回是否为假。 (我认为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");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM