gpt4 book ai didi

PHP 不允许在字符串日期中使用格式 d/m/Y

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:01 25 4
gpt4 key购买 nike

我想验证应保存为日期的字符串。我希望用户在此 format ('d-m-Y) 的表单中提供日期。我正在使用此功能来检查是否给出了有效日期:

function isDateValid($birthdate)
{
$date = date('Y-m-d', $birthdate);

$stamp = strtotime(str_replace('/', '-', $date), $date);

if (!is_numeric($stamp))
return FALSE;

//checkdate(month, day, year)
if ( checkdate(date('n', $stamp), date('d', $stamp), date('Y', $stamp)) )
{
return TRUE;
}
return FALSE;
}

这适用于 d-m-y 格式的每个条目。但是当给定这样的格式 d/m/Y 时,它仍然返回 true 但日期在数据库中像这样 m/d/Y 保存。

我该怎么做才能确保这种格式“d/m/y”的条目不可能保存在数据库中。

提前致谢

找到解决方案

好吧,我想我找到了解决方案

if(!preg_match('/^(\d\d?)-(\d\d?)-(\d\d\d\d)$/', $birthdate, $matches))
{
return false;
}
return checkdate($matches[2], $matches[1], $matches[3]);

我检查是否给出了正确的模式,然后我检查它是否是一个有效的日期。这对我来说很好,谢谢!!

最佳答案

您可以使用像这样的正则表达式模式:*\d{4}-\d{2}-\d{2}* 来检查格式

关于PHP 不允许在字符串日期中使用格式 d/m/Y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10431468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com