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


Posted in PHP onDecember 14, 2016

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

日期YYYY-MM-DD

$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正则判断,以下是代码:

<?php
//匹配时间格式为2016-02-16或2016-02-16 23:59:59前面为0时可以不写
$time = "2016-12-14 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>

以上就是关于php 日期时间的正则内容,当然很多都是前端js验证的。大家可以参考三水点靠木其他的文章

PHP 相关文章推荐
PHP邮件专题
Oct 09 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
PHP--用万网的接口实现域名查询功能
Dec 13 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
Dec 24 PHP
php操作MongoDB类实例
Jun 17 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
Jun 19 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
Laravel重定向,a链接跳转,控制器跳转示例
Oct 22 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
Thinkphp整合微信支付功能
Dec 14 #PHP
php判断是否连接上网络的方法实例详解
Dec 14 #PHP
基于php实现的验证码小程序
Dec 13 #PHP
php 微信开发获取用户信息如何实现
Dec 13 #PHP
php断点续传之文件分割合并详解
Dec 13 #PHP
php json_encode与json_decode详解及实例
Dec 13 #PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
Dec 12 #PHP
You might like
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php图片处理函数获取类型及扩展名实例
2014/11/19 PHP
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
JavaScript实现简单评论功能
2017/08/17 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
Python写的服务监控程序实例
2015/01/31 Python
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
python机器学习之决策树分类详解
2017/12/20 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
C语言笔试题回忆
2015/04/02 面试题
linux比较文件内容的命令是什么
2013/03/04 面试题
家长写给老师的建议书
2014/03/13 职场文书
益达广告词
2014/03/14 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
入党介绍人意见2015
2015/06/01 职场文书
青春雷锋观后感
2015/06/10 职场文书
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python
海弦WR-800F
2022/04/05 无线电