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 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
杏林同学录(二)
Oct 09 PHP
php学习笔记 面向对象的构造与析构方法
Jun 13 PHP
基于xcache的配置与使用详解
Jun 18 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
php使用文本统计访问量的方法
May 12 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
php微信公众号开发之微信企业付款给个人
Oct 04 PHP
PHP中数组转换为SimpleXML教程
Jan 27 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 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中JSON的应用技巧
2015/10/10 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
Extjs学习笔记之七 布局
2010/01/08 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
python3 map函数和filter函数详解
2019/08/26 Python
python scipy卷积运算的实现方法
2019/09/16 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
python/golang 删除链表中的元素
2020/09/14 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
九州传奇上机题
2014/07/10 面试题
中专生自我鉴定范文
2013/12/19 职场文书
工程项目经理任命书
2014/06/05 职场文书
服务口号大全
2014/06/11 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python