php 7.4 如何期望日期格式“ddmmYYYY”

naspy971

我需要强制用户输入这样的日期“ddmmYYYY”,例如:14012022

我面临的问题是我不能仅使用此格式来强制使用此格式:

DateTime::createFromFormat('dmY', '14012022');

例如,DateTime::createFromFormat('dmY', '212022')对于“02012022”,它不会返回 false,尽管最后日期仍然是错误的。

有没有办法强制用户传递我期望的确切格式,即 "ddmmYYYY" ?

我需要 2 位数字代表一天,2 位数字代表月份,4 位数字代表年份。

谢谢

脖子

通过将日期转换回字符串来进行附加检查怎么样?

$inputDate = '212022';
$date = DateTime::createFromFormat('dmY', $inputDate);
$valid = $date && $date->format('dmY') == $inputDate;

既然说明书上说,

用于解析数字的字母允许范围很广的值,超出了逻辑范围。

因此像 '32132022' 这样的字符串是 的有效输入createFromFormat,上述方法将帮助您避免此类日期字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章