加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP日期时间加减程序代码细说

发布时间:2023-06-21 13:48:40 所属栏目:PHP教程 来源:
导读:今天我们来看在php中计算两个时间之间的时间差.下面我们直接使用了data,strtotime与time三个函数就实现了.结合PHP函数date()与strtotime()两个函数来实现大致也是这个意思,代码如下:<?php /** * PHP里的日期加减方

今天我们来看在php中计算两个时间之间的时间差.下面我们直接使用了data,strtotime与time三个函数就实现了.

结合PHP函数date()与strtotime()两个函数来实现大致也是这个意思,代码如下:

<?php  

/**  

 * PHP里的日期加减方法  

 * 琼台老屋  

 */ 

// 第一步,假设有一个时间  

$a = '2012-04-25 10:10:00';  

// 第二步,获得这个日期的时间戳  

$a_time = strtotime($a);  

// 第三步,获得加五个月后的时间戳  

$b_time = strtotime('+5 Month',$a_time);  

// 第四部,把时间戳转换回日期格式  

$b = date('Y-m-d H:i:s',$b_time);  

echo '这是加了五个月后的日期'.$b;  

// 如果你觉得以上代码过长也可以一行搞定  

$b = date('Y-m-d H:i:s',strtotime('+'.$time.' Month',strtotime($a)));  

echo '这是加了五个月后的日期'.$b;  

?> 

常用的计算时间,代码如下:

<?php   

date_default_timezone_set('PRC'); //默认时区   

echo "今天:",date("Y-m-d",time()),"<br>";   

echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"<br>";   

echo "昨天:",date("Y-m-d",strtotime("-1 day")), "<br>";   

echo "明天:",date("Y-m-d",strtotime("+1 day")), "<br>";   

echo "一周后:",date("Y-m-d",strtotime("+1 week")), "<br>";   

echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "<br>";   

echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")), "<br>";   

echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>";   

echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";   

echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br>";   

echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>";   

?> 

//输出结果 

//今天:2013-06-07 

//今天:2008-06-18 

//昨天:2013-06-06 

//明天:2013-06-08 

//一周后:2013-06-14 

//一周零两天四小时两秒后:2013-06-16 18:18:29 

//下个星期四:2013-06-13 

//上个周一:2013-06-03 

//一个月前:2013-05-07 

//一个月后:2013-07-07 

//十年后:2023-06-07 

这里再看一些日期加减函数,代码如下:

//获取当天的星期(1-7) 

function GetWeek($times) 

$res = date('w', strtotime($times)); 

if($res==0) 

$res=7; 

return $res; 

//获取当天时间 

function GetTime($times) 

$res = date('H:i', strtotime($times)); 

return $res; 

//获取现在过几月的的时间 

function GetMonth($Month,$type='l') 

if(!strcmp($type,'b')) 

$res=date("Y-m-d H:i:s",strtotime("-$Month months")); 

if(!strcmp($type,'l')) 

$res=date("Y-m-d H:i:s",strtotime("+$Month months")); 

return $res; 

//获取当前时间 

function GetCurrentDateTime() 

$res=date("Y-m-d H:i:s",time()); 

return $res; 

//获取当前时间隔几小时之前或之后的时间 

function GetDiffHours($hours,$type='l') 

if(!strcmp($type,'b')) 

$res=date("Y-m-d H:i:s",strtotime("-$hours hour")); 

if(!strcmp($type,'l')) 

$res=date("Y-m-d H:i:s",strtotime("+$hours hour")); 

return $res;  

//间隔几分钟之前或之后的时间 

function GetDiffMinute($Minute,$type='l') 

if(!strcmp($type,'b')) 

$res=date("Y-m-d H:i:s",strtotime("-$Minute minute")); 

if(!strcmp($type,'l')) 

$res=date("Y-m-d H:i:s",strtotime("+$Minute minute")); 

return $res;  

//间隔几秒之前或之后的时间 

function GetDiffSec($sec,$type='l') 

if(!strcmp($type,'b')) 

$res=date("Y-m-d H:i:s",strtotime("-$sec second")); 

if(!strcmp($type,'l')) 

$res=date("Y-m-d H:i:s",strtotime("+$sec second")); 

return $res;  

//间隔几个星期之前或之后的时间 

function GetDiffWeek($Week,$type='l') 

if(!strcmp($type,'b')) 

$res=date("Y-m-d H:i:s",strtotime("-$Week week")); 

if(!strcmp($type,'l')) 

$res=date("Y-m-d H:i:s",strtotime("+$Week week")); 

return $res;  

// 间隔几天之间的时间 

function GetDiffDays($days,$type='l') 

if(!strcmp($type,'b')) 

$res=date("Y-m-d H:i:s",strtotime("-$days day")); 

if(!strcmp($type,'l')) 

$res=date("Y-m-d H:i:s",strtotime("+$days day")); 

return $res;  

//间隔几年之前或之后的时间 

function GetDiffYears($year,$type='l') 

if(!strcmp($type,'b')) 

$res=date("Y-m-d H:i:s",strtotime("-$year year")); 

if(!strcmp($type,'l')) 

$res=date("Y-m-d H:i:s",strtotime("+$year year")); 

return $res;  

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!