我正在编写一个脚本,该脚本将从 CSV 文件中导入一些数据。当我这样做时,我希望能够检查一个变量,看看它是否是一个有效的日期字符串。
我已经看到了几种检查字符串是否为日期的方法,但大多数方法都要求您现在使用格式。我不知道日期的格式。
现在我正在使用 strtotime(),但这并不容易
$field ="May";
if(strtotime($field)){
echo "This is a date";
}
在这种情况下,“May”是人的名字,而不是日期。
谁能推荐更可靠的功能?
根据你们中的一些人提出的问题进行编辑。
对于在我的情况下作为“日期”传递的变量,它需要特定于日/月/年,所以只是“五月”会模糊计算。
基于此和下面 Pauls 的好点,我们还可以测试该字符串是否包含数字,例如
$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
echo "This is a date";
}else{
echo "Nope not a date";
}
这似乎满足了我的迫切需求,但任何人都可以发现任何问题或提出改进建议吗?