-1
有没有办法迫使PHP创建DateTime对象带有无效参数,如“2012年2月31日”,而无需将其更改为2012-03- 02或类似的东西?创建从无效输入有效的日期,如2012年2月31日
有没有办法迫使PHP创建DateTime对象带有无效参数,如“2012年2月31日”,而无需将其更改为2012-03- 02或类似的东西?创建从无效输入有效的日期,如2012年2月31日
<?php
try {
$date = new DateTime('2012-02-31'); // constuct with "impossible date"
} catch (Exception $e) {
echo $e->getMessage();
exit;
}
echo $date->format('Y-m-d'); // result: 2012-03-02
?>
创建DateTime
-object用一个“不可能日期”是没有问题的(但它变成输出一个“真正”的日期)。 see it working on codepad。
我想你是找错了方向。为什么你首先需要做到这一点? – Peon 2012-07-23 07:22:05
@DainisAbols有一个好点。你应该拒绝无效值。如果给出了“2012-02-31”这样的无效日期,那么你怎么能说它应该是“2012-03-21”? – vascowhite 2012-07-23 07:26:25
好吧,我wnat我的用户是ALBE输入日期,如“1391年2月31日”,这是在波斯历法真正的约会。实际上我想把它当作波斯的约会。 – LN1 2012-07-23 07:30:32