我的时间字符串如下
8:7:9
17时34分38秒
我想检查字符串是否有H:i:s格式,如果我发现完全无效的字符串,如空,其他文本值,带日期部分的字符串(2017:10:12 18:39:21)
先谢谢..!
答案 0 :(得分:0)
使用DateTime
检查字符串是否与特定时间格式匹配:
if (!DateTime::createFromFormat('H:i:s', '2017-10-08 17:23:30')) {
// time string does not match the H:i:s format
}
如果字符串与提供的格式匹配,则结果将是DateTime
对象。如果不是,则结果将是布尔值false
。所以你可以很容易地检查它。
答案 1 :(得分:0)
我首先使用下面的正则表达式匹配
if(preg_match("/\d{1,2}\:\d{1,2}\:\d{1,2}/",$value))
{
}
然后应用拆分并验证24,60和60
的个别时间部分