① php時間戳如何獲取當前時間前一個月的此時時間
直接去當前時間戳,減去 30*24*3600
② php中使用mktime() 如何獲取上一月昨天的時間,今天的時間,明天的時間;
如果一個月固定30天,那真的很好辦,直接當前 時間戳-30*86400 就是上一月今天的時間戳了,加減一次86400就是加減一天。
如果今天幾號要對應上一月幾號,我就提一些注意點吧,當前月份減1和加1當然就是上一個月和下一個月,不過注意要12月和1月的判斷,還有如果今天3月30號,上一個月也沒30號,這些還要看你自己想怎麼處理。只要拿到正確的日期,傳入mktime就拿到時間了,至於昨天和明天,一樣加減一次86400就行了。
③ PHP怎麼獲得一天,一周,一個月的起始和結束的時間戳求高人指點
PHP獲取開始和結束時間
//當前時間
$start
=
strtotime(date('Y-m-d
H:i:s'));
//時長,時間長度(秒為單位,例子中為120秒,2分鍾後,實際時間可自行修改或程序計算得出)
//如果是1周後,則為$start
+
(7
*
24
*
60
*
60);
$long
=
$start
+
120
//結束時間
$end
=
date('Y-m-d
H:i:s',
$long);
php可以用函數time()來獲取Unix
時間戳,但是只能獲取當前的,不能填入參數計算
④ PHP下獲取上個月、下個月、本月的日期(strtotime,date)
今天寫程序的時候,突然發現了很早以前寫的獲取月份天數的函數,經典的switch版,但是獲得上月天數的時候,我只是把月份-1了,估計當時太困了吧,再看到有種毛骨悚然的感覺,本來是想再處理一下的,但是一想肯定還有什麼超方便的方法,於是找到了下面這個版本,做了一點小修改。
獲取本月日期:
復制代碼
代碼如下:
function
getMonth($date){
$firstday
=
date("Y-m-01",strtotime($date));
$lastday
=
date("Y-m-d",strtotime("$firstday
+1
month
-1
day"));
return
array($firstday,$lastday);
}
$firstday是月份的第一天,假如$date是2014-2這樣的話,$firstday就會是2014-02-01,然後根據$firstday加一個月就是2014-03-01,再減一天就是2014-02-28,用date()和strtotime()真是太方便了。
獲取上月日期:
復制代碼
代碼如下:
function
getlastMonthDays($date){
$timestamp=strtotime($date);
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
$lastday=date('Y-m-d',strtotime("$firstday
+1
month
-1
day"));
return
array($firstday,$lastday);
}
上月日期需要先獲取一個時間戳,然後在月份上-1就OK了,超智能的date()會把2014-0-1這種東西轉換成2013-12-01,太爽了。
獲取下月日期:
復制代碼
代碼如下:
function
getNextMonthDays($date){
$timestamp=strtotime($date);
$arr=getdate($timestamp);
if($arr['mon']
==
12){
$year=$arr['year']
+1;
$month=$arr['mon']
-11;
$firstday=$year.'-0'.$month.'-01';
$lastday=date('Y-m-d',strtotime("$firstday
+1
month
-1
day"));
}else{
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));
$lastday=date('Y-m-d',strtotime("$firstday
+1
month
-1
day"));
}
return
array($firstday,$lastday);
}
下月日期的代碼看起來比較長一點,因為date()轉不了類似2014-13-01這種東西,它會直接回到1970,所以前面需要處理一下12月的問題,除了12月就直接月份+1就OK啦。
總得來說,還是很方便的,日期函數太強大了。
⑤ php有沒相關函數可以獲取給定日期的上個月的第一天及最後一天
沒有,可以取當前月的第一天00:00的時間戳,然後減24小時,再date即是上個月的最後一天。
如:
$prev_month_last_day = date("Y/m/d", strtotime(date("Y-m-1")) - 86400);
list($year, $month, $day) = explode("/", $prev_month_last_day);
$prev_month_first_day = $year . '/' . $month . '/1';
printf("first day of prev month is : %s\nlast day of prev month is : %s\n", $prev_month_first_day, $prev_month_last_day);
⑥ php如何求上一個月月初至月末
由於php內置時間函數 strtotime 在求上個月這個功能上存在bug,所以放棄不用了……
上個自己寫的臨時用的,樓主看看:
$thismonth = date('m');
$thisyear = date('Y');
if($thismonth==1) {
$lastmonth = 12;
$lastyear = $thisyear-1;
} else {
$lastmonth = $thismonth - 1;
$lastyear = $thisyear;
}
$lastStartDay = $lastyear.'-'.$lastmonth.'-1';
$lastEndDay = $lastyear.'-'.$lastmonth.'-'.date('t',strtotime($lastStartDay));
echo 'lastStartDay = '.$lastStartDay;
echo '<br/>';
echo 'lastEndDay = '.$lastEndDay;