我在HTML页面中有一个js日历,并将选择的日期传递到一个PHP文件中。当前,日期字段是必填字段,如果日历中未选择任何日期,它将显示默认的1970/01/01。
我正在尝试更改行为,以便在不选择日期的情况下将当前日期传递到PHP文件中。
PHP文件中的代码如下:
$mydate = strtotime($_POST['mydate']);
$mydate = date("Y/m/d",$mydate);
如果$_POST['mydate']
没有传递任何值,如何更改它以显示当前日期?
PS:我是PHP函数的新手,在论坛中搜索类似的案例没有帮助。
答案 0 :(得分:2)
之所以会这样,是因为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);
}
答案 1 :(得分:0)
尝试一下:
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");
}