PHP正则匹配日期和时间(时间戳转换)的实例代码
发布时间 - 2026-01-10 21:48:42 点击率:次先来一个比较简单实用的代码

日期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时间戳和日期相互转换操作实例小结
# PHP 实现公历日期与农历日期的互转换
# 关于PHP转换超过2038年日期出错的问题解决
# PHP入门教程之日期与时间操作技巧总结(格式化
# 验证
# 获取
# 转换
# 计算等)
# php中日期类型转换实例讲解
# 都是
# 其他的
# 这就
# 要用
# 转换成
# 我自
# 先来
# 不写
# 即以
# 起至
# 格式为
# 格林威治时间
# red
# 总秒数
# print_r
# lt
# time
# class
# pre
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
JavaScript数据类型有哪些_如何准确判断一个变量的类型
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何在IIS7中新建站点?详细步骤解析
如何正确选择百度移动适配建站域名?
Android Socket接口实现即时通讯实例代码
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
Laravel如何为API生成Swagger或OpenAPI文档
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
EditPlus中的正则表达式 实战(2)
Laravel如何实现多对多模型关联?(Eloquent教程)
jQuery中的100个技巧汇总
bootstrap日历插件datetimepicker使用方法
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
新三国志曹操传主线渭水交兵攻略
昵图网官网入口 昵图网素材平台官方入口
如何获取上海专业网站定制建站电话?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
香港服务器部署网站为何提示未备案?
网站建设要注意的标准 促进网站用户好感度!
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
电商网站制作价格怎么算,网上拍卖流程以及规则?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Laravel怎么使用artisan命令缓存配置和视图
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何在阿里云通过域名搭建网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
轻松掌握MySQL函数中的last_insert_id()
Laravel如何实现模型的全局作用域?(Global Scope示例)
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
如何在万网开始建站?分步指南解析
Laravel怎么连接多个数据库_Laravel多数据库连接配置
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
网站页面设计需要考虑到这些问题
高端云建站费用究竟需要多少预算?
如何在宝塔面板中修改默认建站目录?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
高性能网站服务器配置指南:安全稳定与高效建站核心方案
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
如何用腾讯建站主机快速创建免费网站?

