PHP程式設計師在日常開發中經常需要計算各種時間,經常有些比較複雜的,特意整理了以下這些常用的,建議收藏。更多詳細的操作函數整合了自取https://github.com/xmgb-cj/date
1. 獲取上個月第一天及最後一天
echo date('Y-m-01', strtotime('-1 month')); echo date('Y-m-t', strtotime('-1 month'));
2. 獲取當月第一天及最後一天
$BeginDate=date('Y-m-01', strtotime(date("Y-m-d"))); echo $BeginDate; echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day"));
3. 獲取當天年份、月份、日及天數
echo " 本月共有:".date("t")."天"; echo " 當前年份".date('Y'); echo " 當前月份".date('m'); echo " 當前幾號".date('d');
4. 獲取本週的第一天和最後一天
//當前日期 $sdefaultDate = date("Y-m-d"); //$first =1 表示m每週星期一為開始日期 0表示每週日為開始日期 $first = 1; //獲取當前週的第幾天 週日是 0 週一到週六是 1 - 6 $w = date('w', strtotime($sdefaultDate)); //獲取本周開始日期,如果$w是0,則表示週日,減去 6 天 $week_start = date('Y-m-d', strtotime("$sdefaultDate -".($w ? $w - $first : 6).' days')); //本週結束日期 $week_end = date('Y-m-d',strtotime("$week_start +6 days"));
5. 判斷當前日期是星期幾
$weekarray=array("日","一","二","三","四","五","六"); echo "星期".$weekarray[date("w")];
6. 計算兩個日期相差的天數
<?php /** * 求兩個日期之間相差的天數 * (針對1970年1月1日之後,求之前可以採用泰勒公式) * @param string $day1 * @param string $day2 * @return number */ function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = strtotime($day2); if ($second1 < $second2) { $tmp = $second2; $second2 = $second1; $second1 = $tmp; } return ($second1 - $second2) / 86400; } $day1 = "2013-07-27"; $day2 = "2013-08-04"; $diff = diffBetweenTwoDays($day1, $day2); echo $diff."n";
1. 整合了一份更強大的時間操作庫,自行下載https://github.com/xmgb-cj/date,在部分社交場景的專案中,例如使用者發布了一個動態內容,需要人性化的顯示發布時間,比如1分鐘前,1小時前,1個月前等人性化的顯示,這是可以使用庫中的以下函數
$time = new Time(); $resp = $time->timeDiff('2020-04-30 12:00:00'); var_dump($resp);
2. 再如計算兩個時間的差,得出相差幾天、月、季、年,可以使用以下程式碼得到相差的月份,具體由第二個引數控制。
$date = '2020-01-30'; $month = floor(abs($time->dateDiff($date, 'M')));
3. 判斷日期 所屬 干支 生肖 星座
$time = new Time(); echo $time->magicInfo('XZ'); //得到今天的星座
開發中這種時間日期操作函數還是非常多的,還有一個更常用的就是判斷指定日期是否工作日,這個在網上的介面大部分不可用,個人建議還是自己維護一份節假日資料表,國家每年發布法定節假日時維護一次就可以了。
以上就是PHP常用日期時間操作合集的詳細內容,更多請關注TW511.COM其它相關文章!