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


相关推荐: 微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何实现事件和监听器?(Event & Listener实战)  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  原生JS获取元素集合的子元素宽度实例  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  b2c电商网站制作流程,b2c水平综合的电商平台?  php485函数参数是什么意思_php485各参数详细说明【介绍】  如何用好域名打造高点击率的自主建站?  用yum安装MySQLdb模块的步骤方法  iOS验证手机号的正则表达式  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何在IIS7上新建站点并设置安全权限?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何用腾讯建站主机快速创建免费网站?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  香港服务器租用每月最低只需15元?  Android滚轮选择时间控件使用详解  javascript读取文本节点方法小结  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  详解Oracle修改字段类型方法总结  如何确认建站备案号应放置的具体位置?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  微信小程序 配置文件详细介绍  焦点电影公司作品,电影焦点结局是什么?  如何快速登录WAP自助建站平台?  如何在景安服务器上快速搭建个人网站?  实例解析Array和String方法  Python制作简易注册登录系统  phpredis提高消息队列的实时性方法(推荐)  Laravel如何实现用户密码重置功能?(完整流程代码)  微信小程序 canvas开发实例及注意事项  Python函数文档自动校验_规范解析【教程】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何在阿里云虚拟服务器快速搭建网站?  如何用美橙互联一键搭建多站合一网站?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】