我从 API 接收日期字符串,其格式为 yyyy-mm-dd
。
我目前正在使用正则表达式来验证字符串格式,这可以正常工作,但我可以看到一些情况,根据字符串,它可能是正确的格式,但实际上是无效的日期。即 2013-13-01
例如。
在 PHP 中是否有更好的方法来获取字符串,例如 2013-13-01
并判断它是否是格式 yyyy-mm-dd
的有效日期?
原文由 Marty Wallace 发布,翻译遵循 CC BY-SA 4.0 许可协议
我从 API 接收日期字符串,其格式为 yyyy-mm-dd
。
我目前正在使用正则表达式来验证字符串格式,这可以正常工作,但我可以看到一些情况,根据字符串,它可能是正确的格式,但实际上是无效的日期。即 2013-13-01
例如。
在 PHP 中是否有更好的方法来获取字符串,例如 2013-13-01
并判断它是否是格式 yyyy-mm-dd
的有效日期?
原文由 Marty Wallace 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答819 阅读✓ 已解决
894 阅读
1 回答649 阅读
为此,您可以使用
DateTime::createFromFormat()
:[ 取自 这个答案 的功能。也在 php.net 上。最初由 Glavić 编写。 ]
测试用例:
演示!