PHP date_create_from_format函数接受不存在但格式有效的日期.
我希望这个函数的行为类似于date命令:
niloct@HP-Mini:~$ date --date="29/02/2011" +%s
date: invalid date `29/02/2011'
Run Code Online (Sandbox Code Playgroud)
虽然这是在PHP中发生的事情:
$tmp = date_create_from_format('d/m/Y H:i:s',"29/02/2011 00:00:00", timezone_open('America/Sao_Paulo'));
var_dump($tmp);
/*
output: object(DateTime)#28 (3) { ["date"]=> string(19) "2011-03-01 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(17) "America/Sao_Paulo" }
*/
Run Code Online (Sandbox Code Playgroud)
-1在这种情况下,是否可以避免这种自动转换并返回功能?
niloct@HP-Mini:~$ php -v
PHP 5.3.3-1ubuntu9.3 with Suhosin-Patch (cli) (built: Jan 12 2011 16:08:14)
Run Code Online (Sandbox Code Playgroud)
谢谢.
您可以使用组合date_parse_from_format并checkdate看它是否是一个有效的日历日期.
例:
$date = date_parse_from_format('d/m/Y H:i:s',"29/02/2011 00:00:00");
if (checkdate($date['month'], $date['day'], $date['year'])) {
echo "Valid date";
}
else {
echo "Invalid date";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1551 次 |
| 最近记录: |