有時我們在開發專案的時候會遇到獲取幾天前、幾天后、今日、本周等的開始時間和結束時間,獲取前幾個月份,獲取本年度天數等等,以下是我總結的幾種常見的時間相關的方法,希望對大家有用:
1.獲取前幾個月月份
public function toSelfMonth($ m){
$today = input('param.today') ? input('param.today') : date("Y-m-d");
$arr = array();
$$old_time = strtotime('-'.$m.' month',strtotime($today));
for($i = 0;$i <= $m; $i){
$t = strtotime( " $i month",$old_time);
$arr[]=date('Y-m',$t);
}
return $arr;
}
#}
#2.取得前幾天日期
#public function toSelfDay($m){
$today = input('param .today') ? input('param.today') : date("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$m.' day', strtotime($today));
for($i = 0;$i <= $m; $i){
$t = strtotime(" $i day",$old_time);
$arr[]=date('Y-m-d',$t);
}return $arr;
}
##}
# 3.計算前幾個月的天數
public function getLastMonthDays($month){$arr = $this->toSelfMonth($month); $y = date ('Y',time());
$days = date('d',time());
/*$days = date("t");echo "當月的天數".$days."
";*/ return $days;}
#5.取得指定年月的開始與結束時間戳記
# public function getSelfMonthStartEnd($y=0,$m=0){
$y = $y ? $y : date('Y');$m = $m ? $m : date('m ');
$d = date('t', strtotime($y.'-'.$m));return array("start"=>strtotime($y.'-'. $m),"end"=>mktime(23,59,59,$m,$d,$y));
}
6.取得日期間隔
取得時間間隔,首先要將時間轉換為時間戳,時間戳一般是以秒為計量單位,所以得到以下計量單位:
(1)1小時為3600s
(2)1天為24*3600s,即86400秒
根據這兩個條件,得到以下方法
function GetDateLong ($time1,$time2){
$long = $time2 - $time1;}else = long long ($time2 - $time1);
}if($long > 0){
$day = floor(($long)%($year_day*86400)/86400);
turn if($year) turn $year.'年'.$day.'天';}else{
return $day.'天';}
}
7.取得是否為閏年
一年有365天的情況下是平年,1年有366天的情況下是閏年。
1、普通閏年:公曆年份是4的倍數的,一般是閏年。 (如2004年就是閏年);2、世紀閏年:公曆年份是整百數的,必須是400的倍數才是閏年(如1900年不是世紀閏年,2000年是世紀閏年)。
依照這個條件我們可以取得到以下的方法取得是平年還是閏年
同以上7的介紹公曆年份是4的倍數的,一般是閏年。公曆年份是整百數的,必須是400的倍數才是閏年。
依照這個條件我們可以完成一下方法來取得一年的天數
public function GetYearDay($time){
$year = date("Y",$time);
$a1 = $year/100;
if($a1 == 0){
$b1 = $year/400;
# long = 365;
}else{
$long = 366;
# }# # 2 $/else{## } if($b2 == 0) {
$long = 366;
}else{
$long
##
以上是PHP幾種常見的時間間隔資訊獲取的詳細內容。更多資訊請關注PHP中文網其他相關文章!