PHP正则匹配日期和时间程序代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-01-17 11:42:39 浏览: 评论:0
今天我要替换一个数据库要把数据库指定字符串中的日期与时间取出来然后时间戳转换了,我字段是字符带日期了匹配时间格式为2012-02-16或2012-02-16 23:59:59前面为0的时候可以不写,后来找到一些测试代码.
下面贴出代码,代码如下:
- <?php
- //匹配时间格式为2012-02-16或2012-02-16 23:59:59前面为0的时候可以不写
- $time = "2012-02-16 23:59:59";
- $patten = "/^d{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]))?$/";
- if (preg_match ( $patten, $time )) {
- echo $timestro = strtotime ( $time );
- } else {
- echo "error";
- }
- ?>
对该正则的分析,代码如下:
- /^d{4}[-](0?[1-9]|1[012])[-](0?[1-9]|[12][0-9]|3[01])(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
附上我自己写的实例,代码如下:
- <meta charset='utf-8'>
- <pre>
- <?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}/", $str, $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}/", $str, $arr3);
- preg_match_all("/d{4}-d{2}-d{2}sd{2}:d{2}:d{2}/", $str2, $arr4);
- echo '<font color="red">匹配日期</font><br>';
- print_r($arr);
- print_r($arr2);
- echo '<font color="red">匹配日期和时间</font><br>';
- print_r($arr3);
- print_r($arr4);
- ?>
- </pre>
Tags: PHP 正则 匹配 日期
相关文章
- ·php正则连接中文本程序(2013-11-12)
- ·php验证用户名是否以字母开头与验证密码(2013-11-13)
- ·PHP常用正则表达式汇总(2013-11-13)
- ·三分钟学会PHP正则表达式(2013-11-13)
- ·巧用PHP正则表达式判断IP地址(2013-11-13)
- ·php 判断中英文字符(2013-11-29)
- ·用PHP来验证Email是否正确(2013-12-10)
- ·php用户注册时常用的一些检验函数总结(2014-01-05)
- ·php正则表达式验证邮箱(2014-01-05)
- ·php/js汉字正则表达式总结(2014-01-05)
- ·php中正则匹配用户密码(2014-01-06)
- ·php中ip地址 email格式 电话号码正则验证(2014-01-06)
- ·php如何对手机号码进行验证(2014-01-07)
- ·php 正则提取文章中的图片,并替换、移动图片目录(2014-01-07)
- ·PHP移除字符串超链接文本的正则表达式(2014-01-10)
- ·实例学习PHP中的正则表达式(2014-01-14)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)