『壹』 php時間datetime格式,怎麼只取月份和只取天數呢
data(Y-m-d)獲取某年某月某日,
data(Y-m-d H:i:s)獲取年月日時分秒
『貳』 使用PHP如何獲取某個月的所有日期
$j = date("t"); //獲取當前月份天數
$start_time = strtotime(date('Y-m-01')); //獲取本月第一天時間戳
$array = array();
for($i=0;$i<$j;$i++){
$array[] = date('Y-m-d',$start_time+$i*86400); //每隔一天賦值給數組
}
print_r($array);
『叄』 php應用:獲取日期正則表達式:\\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日
^d{4}(年|-|.)(0?[1-9]|1[0-2])(月|-|.)(0?[1-9]|[1-2]d|3[0-1])日?$
這種是還是有缺陷的你可以看到最後一個,還有就是2月31日這樣的也會被匹配的。不過應對一般日期還是可以的。
『肆』 PHP 如何獲取兩個時間之間的年和月份
$time1 = strtotime('2014-02-04'); // 自動為00:00:00 時分秒
$time2 = strtotime('2015-02-06');
$monarr = array();
$monarr[] = '2014-02'; // 當前月;
while( ($time1 = strtotime('+1 month', $time1)) <= $time2){
$monarr[] = date('Y-m',$time1); // 取得遞增月;
}
print_r($monarr);
『伍』 php 怎樣輸出18年5月份 每個星期一的日期
function test()
{
$arr = [];
//首先獲取18年5月1日0點的時間戳
$time = mktime(0,0,0,5,1,2018);
//循環18年5月的每一天,並判斷是否星期一
//這里還有一個思路:找出第一個星期一,結束循環,然後根據第一個星期一的時間戳+7*86400取出第二個,依次類推,當時間超出31日時結束,可以嘗試自己寫一下。
for ($i = 0 ; $i < 31 ; $i ++)
{
$week = date("w",$time + $i * 86400);
if ($week == 1)
{
$arr[] = date('Y-m-d' , $time + $i * 86400);
}
}
var_mp($arr);
//輸出array(4) { [0]=> string(10) "2018-05-07" [1]=> string(10) "2018-05-14" [2]=> string(10) "2018-05-21" [3]=> string(10) "2018-05-28" }
}
『陸』 php怎樣獲取日期中的月份
示例代碼如下:
<?php
//日期
$date="2016-11-1111:11:11";
//轉換成時間戳
$timestrap=strtotime($date);
//格式化,取出月份
echodate('m',$timestrap);
『柒』 PHP下獲取上個月、下個月、本月的日期
因為工作需要需要獲取上個月、下個月、本月的日期,特從網站找到了實現代碼,特分享下,方便需要的朋友
今天寫程序的時候,突然發現了很早以前寫的獲取月份天數的函數,經典的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啦。
總得來說,還是很方便的,日期函數太強大了。