① 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時間戳已經有所了解,那麼我們如何應用它來獲取具體的日期呢?我們今天來為大家介紹一下PHP時間戳獲取當前時期的具體方式。
實現功能:獲取某個日期的時間戳,或獲取某個時間的PHP時間戳。
strtotime能將任何英文文本的日期時間描述解析為Unix時間戳,我們結合mktime()或date()格式化日期時間獲取指定的時間戳,實現所需要的日期時間。
strtotime 將任何英文文本的日期時間描述解析為Unix時間戳[將系統時間轉化成unix時間戳]
一,獲取指定日期的unix時間戳 strtotime(」2009-1-22″) 示例如下:
echo strtotime(」2009-1-22「) 結果:1232553600
說明:返回2009年1月22日0點0分0秒時間戳
二,獲取英文文本日期時間 示例如下:
便於比較,使用date將當時間戳與指定時間戳轉換成系統時間
(1)列印明天此時的時間戳strtotime(」+1 day「)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」+1 day」)) 結果:2009-01-23 09:40:25
(2)列印昨天此時的PHP時間戳strtotime(」-1 day「)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」-1 day」)) 結果:2009-01-21 09:40:25
(3)列印下個星期此時的時間戳strtotime(」+1 week「)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」+1 week」)) 結果:2009-01-29 09:40:25
(4)列印上個星期此時的時間戳strtotime(」-1 week「)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」-1 week」)) 結果:2009-01-15 09:40:25
(5)列印指定下星期幾的PHP時間戳strtotime(」next Thursday「)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」next Thursday」)) 結果:2009-01-29 00:00:00
(6)列印指定上星期幾的時間戳strtotime(」last Thursday「)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」last Thursday」)) 結果:2009-01-15 00:00:00
以上示例可知,strtotime能將任何英文文本的日期時間描述解析為Unix時間戳,我們結合mktime()或date()格式化日期時間獲取指定的PHP時間戳,實現所需要的日期時間。
③ php 指定時間退後或提前N個月的函數怎麼寫
/**
*返回某個時間幾月前或及月後的時間戳
*@$datetime指定時間戳
*@$num增減月份(1,-2)
*@returndatetime
*/
($datetime,$num){
$year_month=date("Y-m",$datetime);
$time_day=date("d",$datetime);
$H=date("H",$datetime);
$i=孫螞date("i",$datetime);
$s=date("s",$datetime);
if($num>0){
則巧埋寬羨$act="+".abs($num)."month";
}else{
$act="-".abs($num)."month";
}
$time=strtotime($act,strtotime($year_month));
$time_str=date("Y-m-d",$time);
if(date("t",$time)>$time_day){
$return_time=mktime($H,$i,$s,date("m",$time),date("d",$time),date("Y",$time));
}else{
$return_time=mktime($H,$i,$s,date("m",$time),date("t",$time),date("Y",$time));
}
return$return_time;
}
④ php 如何獲取一個月前的時間戳
strtotime 非常強大的一個獲取時間戳的函數
例:獲取前一個月的時間
strtotime("-1 month");
獲取上一個月的今天的上一天
date("Y-m-d",strtotime("-1 month - day"));
獲取上近五年
strtotime("-5 year");
網路一下,這個網上有很多
⑤ PHP獲取當前時間、年份、月份、日期和天數
獲取當前時間、年份、月份、日期和天數是PHP編程中常用的實踐。PHP提供了多種函數來處理時間日期的獲取與格式化。下面將詳細介紹PHP中獲取和格式化時間日期的常用方法。
獲取當前時間主要依賴於PHP的`Date()`函數,該函數能夠將時間戳轉換為易讀的日期與時間格式。函數語法如下:
`Date(format, timestamp)`
其中,`format`參數用於指定輸出的日期格式,而`timestamp`參數可選,用來指定時間戳,默認為`time()`函數返回的當前時間戳。
格式化參數`format`涵蓋了一些常用日期字元,如:
`Y`表示完整四位數的年份(例如2019);
`y`表示兩位數的年份(例如19);
`F`表示完整文本格式的月份(例如January);
`M`表示三個字母的月份(例如Jun);
`m`表示帶前導零的月份(例如04);
`n`表示無前導零的月份(例如4);
`d`表示帶前導零的日期(例如01-31);
`j`表示無前導零的日期(例如1-31);
`D`表示星期的3字母縮寫(例如Wed);
`l`表示完整英文的星期(例如Wednesday);
`w`表示星期中的第幾天(例如0表示星期天);
`W`表示一年中的第幾周;
`z`表示一年中的第幾天(例如0-366);
通過`Date()`函數,我們可以輕松獲取和格式化日期與時間。例如,以下代碼將輸出當前的中文日期:
運行結果:今天是:2019年04月24日
獲取簡單的時間同樣依賴於`Date()`函數,但我們需要使用一些特定的格式化參數。例如,以下是用於獲取時間的常用字元:
`H`表示24小時格式,有前導零(例如08,18);
`h`表示12小時格式,有前導零(例如06,11);
`G`表示24小時格式,無前導零(例如9,17);
`g`表示12小時格式,無前導零(例如6,12);
`i`表示分鍾,有前導零(例如00-59);
`s`表示秒,有前導零(例如00 -59);
`A`表示大寫的午前和午後(例如AM 或 PM);
`a`表示小寫的午前和午後(例如am 或 pm);
`I`表示是否為夏令時;
在獲取時間的實例中,下面的代碼將輸出當前的完整時間:
運行結果:今天是:2019年04月24日 16:34:58 PM
獲取時區時,可以通過設置時區參數來確保准確的時間。例如,將時區設置為"Asia/Shanghai",則代碼如下:
運行結果:當前時間是:2019年04月24日 16:34:58 PM (上海時區)
為了獲取日期信息,可以使用`getdate()`函數。這個函數返回一個數組,包含指定的日期和時間信息,如果沒有給出時間戳,則輸出本地當前的日期和時間。函數聲明如下:
array getdate(int timestamp);
如果需要驗證日期的正確性,在程序開發中,可以使用`checkdate()`函數來檢查輸入的日期是否有效。如果日期有效,返回`true`,否則返回`false`。函數聲明如下:
bool checkdate(int month, int day, int year);
時間戳的獲取可以通過`time()`函數實現,該函數返回當前時間戳。函數聲明如下:
int time();
創建日期時,可以使用`mktime()`函數與`date()`函數。`mktime()`函數返回日期的Unix時間戳,而`date()`函數則用於將時間戳轉換為可讀的格式。函數語法如下:
時間戳時間的實例代碼如下:
運行結果:創建日期是:2015-06-10 09:12:31 AM
通過字元串創建日期時,可以使用`strtotime()`函數。這個函數可以將人類可讀的字元串轉換為Unix時間戳,從而實現日期和時間的創建。函數語法如下:
字元串時間的實例代碼如下:
運行結果:2019-04-25 12:00:00 AM, 2019-04-27 12:00:00 AM, 2019-07-24 05:53:08 PM
需要注意的是,`strtotime()`函數可能不完全准確,因此應檢查輸入的字元串是否正確。
更多日期實例,例如輸出下周六的日期和輸出七月四日之前的天數,可以使用`Date()`函數配合其他日期相關函數實現。例如,以下代碼展示了輸出下周六的日期:
實例代碼如下:
運行結果:2019年04月27日
輸出七月四日之前的天數的實例代碼如下:
運行結果:2019年07月01日
在網站中自動更新版權年份時,可以使用`Date()`函數。以下是一個示例代碼,用於在網站上自動更新年份:
實例代碼如下:
運行結果:版權所有 © 2019
通過以上介紹,我們可以了解到PHP中獲取與格式化時間日期的多種方法,這對於處理時間相關問題非常有用。確保正確使用這些函數,可以提高代碼的效率與准確性。希望這些信息能對您在PHP編程中處理時間日期問題有所幫助。
⑥ 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啦。
總得來說,還是很方便的,日期函數太強大了。
⑦ PHP操作時間戳,以及如何拿到各種時間
在編程過程中,獲取時間是一項常見的需求,特別是在使用PHP語言進行開發時。PHP提供了多種方法來獲取各種時間,本文將詳細介紹其中的兩種:date()函數和time()函數。接下來,我們將逐一了解它們的用法。
首先,我們通過date()函數獲取時間。該函數的格式為date($format, $timestamp),其中$format用於指定時間格式,$timestamp為時間戳(可選),若未提供,則使用當前時間。例如,獲取當前日期和時間,可以使用`date('Y-m-d H:i:s');`。
其次,time()函數用於獲取當前時間的Unix時間戳,無需提供參數。時間戳是自1970年1月1日00:00:00 UTC以來的秒數。
再者,strtotime()函數用於將任何英文文本的日期時間描述解析為Unix時間戳。此函數接收兩個參數:$time為要解析的時間字元串,$now表示計算返回值的時間戳,若省略則使用當前時間。例如,將"2023-03-15"解析為時間戳可以使用strtotime("2023-03-15");
關於date()函數的字元串格式字元,具體含義如下:
a - "am" 或 "pm",表示上午或下午;
A - "AM" 或 "PM",表示上午或下午全稱;
d - 幾日,二位數字,不足兩位時前面補零;
D - 星期幾,三個英文字母,如 "Fri";
F - 月份,英文全名,如 "January";
h - 12小時制的小時,兩位數字,不足兩位時不補零;
H - 24小時制的小時,兩位數字,不足兩位時不補零;
g - 12小時制的小時,不足兩位時不補零;
G - 24小時制的小時,不足兩位時不補零;
i - 分鍾,兩位數字;
j - 幾日,二位數字,不足兩位時不補零;
l - 星期幾,英文全名,如 "Friday";
m - 月份,二位數字,不足兩位時補零;
n - 月份,二位數字,不足兩位時不補零;
M - 月份,三個英文字母,如 "Jan";
s - 秒,兩位數字;
S - 字尾加英文序數,兩位英文字母,如 "th"、"nd";
t - 指定月份的天數;
U - 總秒數;
w - 數字型的星期幾,如 "0"(星期日)至 "6"(星期六);
Y - 年,四位數字,如 "1999";
y - 年,二位數字,如 "99";
z - 一年中的第幾天,如 "0" 至 "365"。
舉例說明strtotime()函數的用法,以下是一些常用的日期格式化時間:
將字元串"2023-03-15"轉換為時間戳:strtotime("2023-03-15")
將字元串"15th March, 2023"轉換為時間戳:strtotime("15th March, 2023")
將字元串"tomorrow"轉換為明天的時間戳:strtotime("tomorrow")
以上詳細介紹了PHP中獲取時間的方法,包括date()、time()和strtotime()函數的使用,以及date()函數中字元的含義和一些常用的時間格式化例子。這些知識將有助於您在編程中靈活高效地處理日期和時間相關的問題。
⑧ php獲取UTC時間戳
echo time();//輸出結果:1332224315
echo date(DATE_RFC822);//輸出結果:Tue, 20 Mar 12 06:18:35 +0000
如果需要其他的時間格式,可以參考w3school上的Date()函數操作手冊,地址: http://www.w3school.com.cn/php/php_ref_date.asp