本文目錄一覽:
- 1、php 日期加減法問題
- 2、PHP 時間加減
- 3、php中兩個時間如何相減
- 4、php時間加減怎麼寫?
php 日期加減法問題
不要將php想的這麼笨,當前時間用time(),按你的需求來個最直接的辦法。
$time=time();
for($i=1;$i=5;$i++){
$s=getdate($time-$i*24*3600);
$day[$i][mdy]=$s[mday];
$day[$i][mon]=$s[mon];
}
這樣你就得到過去5天的月和日了,將-換成+就是未來5天的月和日。
不過,我發現你是不太了解時間戳的定義。
未來五天,就是time()+5*24*3600,
過去五天,就是time()-5*24*3600,
為什麼不能用時間戳?
PHP 時間加減
?php
$year = ‘2010’;
$month = ’07’;
$day = ’01’;
$hour = ’17’;
$minute = ’30’;
// 上面都是你的設定。但是你要注意,數字確實可以省略引號,但是用在日期里不合適。比如【07】不加引號的話,保存到變數里就會變成【7】。會影響後面的時間戳~
$time_1 = strtotime( $year . $month . $day . $hour . $minute );
$time_2 = $_SERVER[‘REQUEST_TIME’]; //現在大家用的環境都是PHP5吧?不支持的話只好換效率低點的time()。
$cle = $time_2 – $time_1; //計算兩個時間戳的差
$days = floor( $cle / 86400 );//86400秒 == 1天,不用說也知道吧?
$hours = floor( ( $cle % 86400 / 3600 ) % 24 );
$minutes = floor( ( $cle % 86400 / 60 ) % 60 );
echo ‘相差 ‘ . $days . ‘ 天 ‘ . $hours . ‘ 小時 ‘ . $minutes . ‘分’;
//測試OK,給分吧兄弟~~!
?
php中兩個時間如何相減
PHP 中的 strtotime() 函數可以實現
strtotime() 函數將任何英文文本的日期時間描述解析為 Unix 時間戳。
strtotime(time,now)
參數說明
time 規定要解析的時間字元串。
now 用來計算返回值的時間戳。如果省略該參數,則使用當前時間。
詳細說明
成功則返回時間戳,否則返回 FALSE。在 PHP 5.1.0 之前本函數在失敗時返回 -1。
例如:
?php
$start_time = ‘2015-05-01 10:10:10’;
$end_time = ‘2015-06-01 10:10:10’;
//下面計算出的是秒,可以轉化為天、時、分等
echo strtotime($end_time )-strtotime($start_time);
?
php時間加減怎麼寫?
如下:
?php
echo “今天:”,date(‘Y-m-d H:i:s’),”br”;
echo “明天:”,date(‘Y-m-d H:i:s’,strtotime(‘+1 day’));
?
上一行輸出當前時間,下一行輸出明天時間
這裡+1 day
可以修改參數1為任何想需要的數 day也可以改成year(年),month(月),hour(小時),minute(分),second(秒)
如
date(‘Y-m-d H:i:s’,strtotime(“+1 day +1 hour +1 minute”);
可以隨便自由組合,以達到任意輸出時間的目的
註:該方法之針對1970年以後試用,也就是時間戳的適用範圍。
php 常用日期相函數[日期加減,兩日期之差,日期轉換時間截]
下面這些代碼是一些常用的日期處理函數了,可以兩個時間的日期加減,兩日期之差,日期轉換時間截等。
echo date(‘Y-m-d’,strtotime(‘+1 d’,strtotime(‘2009-07-08’)));//日期天數相加函數
echo date(“Y-m-d”,’1246982400′);
echo ‘br’;
echo date(“Y-m-d”,’1279123200′);
die();
$d = “2009-07-08 10:19:00”;
echo date(“Y-m-d”,strtotime(“$d +1 day”)); //日期天數相加函數
function dateToTime($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);
}
/*
下面函數計算兩日期之差
*/
$Date_1=”2009-07-08″;
echo $Date_1+1;
$Date_2=”2009-06-08″;
$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 “兩日期之前相差有$Days 天”;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/227409.html