PHP正则匹配日期和时间(时间戳转换)的实例代码

先来一个比较简单实用的代码

日期YYYY-MM-DD

rush:PHP;"> $str = ''; $isMatched = preg_match('/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/',$str,$matches); var_dump($isMatched,$matches);

PHP需要一定的时间格式才能转换成时间戳(表示从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数),这就要用到PHP正则判断,以下是代码

rush:PHP;">

对该正则的分析:

/^\d{4}--(\s+(0?[0-9]|[12][0-3])\:(0?[0-9]|[1-5][1-9])\:(0?[0-9]|[1-5][1-9]))?$/

/是表达式开始符 最后面的/是表达式的结束符 ^字符串的开始,即以***开始 $表示字符串的结尾,即表示已***结尾 |表示或者 ()表示一个单元 d{4}匹配一个4位数, (\-)匹配一个“-”号, (0?[1-9]|1[012])匹配月份, (0?[1-9]|[12][0-9]|3[01])匹配天, (\s+(0?[0-9]|1[0-9]|2[0-3])\:(0?[0-9]|[1-5][0-9])\:(0?[0-9]|[1-5][0-9]))?整个匹配时分秒部分,?表示有或者没有。 最后一步是对匹配成功的部分,进行时间戳转换。 当前转换结果为:1329407999

附上我自己写的实例,代码如下:

rush:PHP;">
 
PHP 
$str="嘿嘿2010/07/08 12:31:56哈哈1999/12/31 13:21:45"; 
$str2="嘿嘿2010-07-08 12:31:56哈哈1999-12-31 13:21:45"; 
//仅匹配日期 
preg_match_all("/d{4}/d{2}/d{2}/",$arr); 
preg_match_all("/d{4}-d{2}-d{2}/",$str2,$arr2); 
//匹配日期与时间 
preg_match_all("/d{4}/d{2}/d{2}sd{2}:d{2}:d{2}/",$arr3); 
preg_match_all("/d{4}-d{2}-d{2}sd{2}:d{2}:d{2}/",$arr4); 
echo '
'; print_r($arr); print_r($arr2); echo '
'; print_r($arr3); print_r($arr4); ?>

以上就是关于PHP 日期时间的正则内容,当然很多都是前端js验证的。大家可以参考编程之家其他的文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


服务器优化必备:深入了解PHP8底层开发原理
Golang的网络编程:如何快速构建高性能的网络应用?
Golang和其他编程语言的对比:为什么它的开发效率更高?
PHP8底层开发原理揭秘:如何利用新特性创建出色的Web应用
将字符重新排列以形成回文(如果可能)在C++中
掌握PHP8底层开发原理和新特性:创建高效可扩展的应用程序
服务器性能优化必学:掌握PHP8底层开发原理
PHP8新特性和底层开发原理详解:优化应用性能的终极指南
将 C/C++ 代码转换为汇编语言
深入研究PHP8底层开发原理:创建高效可扩展的应用程序
C++程序查找法向量和迹
PHP8底层开发原理实战指南:提升服务器效能
重排数组,使得当 i 为偶数时,arr[i] >= arr[j],当 i 为奇数时,arr[i] <= arr[j],其中 j < i,使用 C++ 语言实现
Golang的垃圾回收:为什么它可以减少开发人员的负担?
C++程序:将一个数组的所有元素复制到另一个数组中
Golang:构建智能系统的基石
为什么AI开发者应该关注Golang?
在C和C++中,逗号(comma)的用法是用来分隔表达式或语句
PHP8底层开发原理解析及新特性应用实例
利用PHP8底层开发原理解析新特性:如何构建出色的Web应用