本文實例總結(jié)了PHP常用日期加減計算方法。分享給大家供大家參考,具體如下:
PHP 標(biāo)準(zhǔn)的日期格式
PHP 簡單的日期加減計算
?php
date_default_timezone_set('PRC'); //默認(rèn)時區(qū)
echo "今天:",date("Y-m-d",time()),"\n";
echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"\n";
echo "昨天:",date("Y-m-d",strtotime("-1 day")),"\n";
echo "明天:",date("Y-m-d",strtotime("+1 day")),"\n";
echo "一周后:",date("Y-m-d",strtotime("+1 week")),"\n";
echo "一周零兩天四小時兩秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "\n";
echo "下個星期四:",date("Y-m-d",strtotime("next Thursday")),"\n";
echo "上個周一:".date("Y-m-d",strtotime("last Monday"))."\n";
echo "一個月前:".date("Y-m-d",strtotime("last month"))."\n";
echo "一個月后:".date("Y-m-d",strtotime("+1 month"))."\n";
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."\n";
?>
運行結(jié)果:
今天:2018-07-31
今天:2008-06-18
昨天:2018-07-30
明天:2018-08-01
一周后:2018-08-07
一周零兩天四小時兩秒后:2018-08-09 15:15:40
下個星期四:2018-08-02
上個周一:2018-07-30
一個月前:2018-07-01
一個月后:2018-08-31
十年后:2028-07-31
PHP 進(jìn)階的日期加減計算
?php
// 默認(rèn)時區(qū)
date_default_timezone_set('PRC');
echo "今天: ", date('Y-m-d H:i:s'), "\n"; // 輸出當(dāng)前時間
echo "明天: ", date('Y-m-d H:i:s', strtotime('+1 day')), "\n"; // 輸出明天時間
//strtotime 可以接受第二個參數(shù),類型timestamp為指定日期
echo date('Y-m-d H:i:s', strtotime ("+1 day", strtotime('2017-11-11'))), "\n";
// 這里+1 day 可以修改參數(shù)1為任何想需要的數(shù)
// day也可以改成year(年)month(月)hour(小時)minute(分)second(秒)
echo date('Y-m-d H:i:s', strtotime("+1 day +1 hour +1 minute")), "\n";
?>
運行結(jié)果:
今天: 2018-07-31 11:37:11
明天: 2018-08-01 11:37:11
2017-11-12 00:00:00
2018-08-01 12:38:11
PHP 高級的計算日期時間差
?php
// 默認(rèn)時區(qū)
date_default_timezone_set('PRC');
echo date("Y-m-d H:i:s"), "\n";
// 日期天數(shù)相加函數(shù)
echo date('Y-m-d', strtotime('+1 day', strtotime('2016-09-12'))), "\n\n";
echo strtotime('2016-09-12'), "\n";
echo date("Y-m-d", '1473609600'), "\n";
echo date("Y-m-d", '1573609600'), "\n";
// 日期天數(shù)相加函數(shù)
$d = "2016-09-12 10:12:20";
echo date("Y-m-d", strtotime("$d +1 day")), "\n\n";
// 把日期轉(zhuǎn)換成時間截
function date2time($d){
$year=((int)substr("$d",0,4)); //取得年份
$month=((int)substr("$d",5,2)); //取得月份
$day=((int)substr("$d",8,2)); //取得幾號
return mktime(0,0,0,$month,$day,$year);
}
echo date2time("2016-09-12"), "\n\n";
$date_1="2066-09-12";
$date_2="2016-09-12";
$Date_List_a1=explode("-",$date_1);
$Date_List_a2=explode("-",$date_2);
$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
$Days=round(($d1-$d2)/3600/24);
echo "$date_2 -> $date_1 相差: $Days 天", "\n";
?>
運行結(jié)果:
2018-07-31 11:37:39
2016-09-13
1473609600
2016-09-12
2019-11-13
2016-09-13
1473609600
2016-09-12 -> 2066-09-12 相差: -17056 天
PS:這里再為大家推薦幾款時間及日期相關(guān)工具供大家參考:
在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計算器/相差天數(shù)計算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php日期與時間用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》及《php字符串(string)用法總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- PHP中的日期加減方法示例
- PHP 日期加減的類,很不錯
- php中日期加減法運算實現(xiàn)代碼
- PHP實現(xiàn)針對日期,月數(shù),天數(shù),周數(shù),小時,分,秒等的加減運算示例【基于strtotime】
- php計算兩個日期相差天數(shù)的方法
- PHP中UNIX時間戳和日期間的轉(zhuǎn)換與計算實例
- php計算兩個日期時間差(返回年、月、日)
- 計算一段日期內(nèi)的周末天數(shù)的php代碼(星期六,星期日總和)
- 探討:如何使用PHP實現(xiàn)計算兩個日期間隔的年、月、周、日數(shù)
- php計算到指定日期還有多少天的方法
- php中根據(jù)某年第幾天計算出日期年月日的代碼