若當前時間戳爲$timeStamp=1467894352,對應的時間爲2016年7月7日20點42分php
如何得到本月第一天零點的時間戳?函數
date('Y-m-01 00:00',$timeStamp);spa
相似的,能夠得到本月任何一天的任何一點時間。或者本年的。或者今日的。或者該小時內的。等等……orm
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++字符串
如何得到兩天後這個時間的時間戳table
$timeStr=date('Y-m-d hh:ii',$timeStamp);ast
strtotime("$timeStr + 2day");form
相似的,能夠得到兩天前(-2day)。兩個月前(-2month)。兩年前(-2year)。加也行。date
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++語法
如何得到某個時間戳是周幾
$week = date("w", strtotime($firstday));
$week的值爲0~6 ,表示週日~週六
date()第一個參數還有不少可選值,會在本文最下放一一列出
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
三個結合用,效果更牛逼! 以下:這是一個月日曆,已知本月的某一天某一點的時間戳,如何得到日曆上第一天零點的時間戳(圖中的即爲2016年6月27日零點)
懵逼了吧!!!別急,其實很簡單,只要四行代碼就能實現:
//$aTime爲本月某一天的時間戳
$firstday = date('Y-m-01 00:00', $aTime);//獲取本月第一天零點的時間(格式化的字符串)
$week = date("w", strtotime($firstday));//獲取本月第一天是星期幾
$week==0&&$week=7;//星期天的話,$week的值換成7
$startTime =strtotime("$firstday -".(intval($week)-1)." day");//獲取日曆上第一天零點的時間戳
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PHP date定義和用法
date() 函數格式化一個本地時間/日期。
語法
- date(format,timestamp)
參數 描述 format 必需。規定時間戳的格式。 timestamp 可選。規定時間戳。默認是當前的日期和時間。
天
d
月份中的第幾天,有前導零的 2 位數字
01到31
D
星期中的第幾天,文本表示,3 個字母
Mon到Sun
j
月份中的第幾天,沒有前導零
1到31
l(「L」的小寫字母)
星期幾,完整的文本格式
Sunday到Saturday
N
ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加)
1(表示星期一)到7(表示星期天)
S
每個月天數後面的英文後綴,2 個字符
st,nd,rd或者th。能夠和j一塊兒用
w
星期中的第幾天,數字表示
0(表示星期天)到6(表示星期六)
z
年份中的第幾天
0到366
星期
W
ISO-8601 格式年份中的第幾周,每週從星期一開始(PHP 4.1.0 新加的)
例如:42(當年的第 42 周)
月
F
月份,完整的文本格式,例如 January 或者 March
January到December
m
數字表示的月份,有前導零
01到12
M
三個字母縮寫表示的月份
Jan到Dec
n
數字表示的月份,沒有前導零
1到12
t
給定月份所應有的天數
28到31
年
L
是否爲閏年
若是是閏年爲1,不然爲0
o
ISO-8601 格式年份數字。這和Y的值相同,只除了若是 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加)
Examples:1999or2003
Y
4 位數字完整表示的年份
例如:1999或2003
y
2 位數字表示的年份
例如:99或03
時間
a
小寫的上午和下午值
am或pm
A
大寫的上午和下午值
AM或PM
B
Swatch Internet 標準時
000到999
g
小時,12 小時格式,沒有前導零
1到12
G
小時,24 小時格式,沒有前導零
0到23
h
小時,12 小時格式,有前導零
01到12
H
小時,24 小時格式,有前導零
00到23
i
有前導零的分鐘數
00到59>
s
秒數,有前導零
00到59>
時區
e
時區標識(PHP 5.1.0 新加)
例如:UTC,GMT,Atlantic/Azores
I
是否爲夏令時
若是是夏令時爲1,不然爲0
O
與格林威治時間相差的小時數
例如:+0200
P
與格林威治時間(GMT)的差異,小時和分鐘之間有冒號分隔(PHP 5.1.3 新加)
例如:+02:00
T
本機所在的時區
例如:EST,MDT(【譯者注】在 Windows 下爲完整文本格式,例如「Eastern Standard Time」,中文版會顯示「中國標準時間」)。
Z
時差偏移量的秒數。UTC 西邊的時區偏移量老是負的,UTC 東邊的時區偏移量老是正的。
-43200到43200
完整的日期/時間
c
ISO 8601 格式的日期(PHP 5 新加)
2004-02-12T15:19:21+00:00
r
RFC 822 格式的日期
例如:Thu, 21 Dec 2000 16:01:07 +0200
U
從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數
參見time()
例子
- <?php
- echo "date()函數輸出格式化日期:<br />";
- // 經常使用
- echo date("l") . "<br />";// 注意是字符L的小寫,不是1,也不是豎線
- echo date("Y-m-d H:i:s") . "<br />";
- echo date("Y/m/d") . "<br />";
- echo date("Y年m月d日 H時i分s秒") . "<br />";
- // 從日期格式的字符串中獲取日期2005-03-21
- echo date("Y-m-d",strtotime("2005-03-21 11:15:38"))."<br />";
- echo date("Y-m-d",strtotime("-1 days"))."<br />";// 昨天的日期
- echo date("Y-m-d",strtotime("-1 week"))."<br />";// 上個星期今天的日期
- echo date("Y-m-d",strtotime("-1 month"))."<br />";// 上個月今天的日期
- echo date("Y-m-d H",strtotime("next Thursday"));// 下個週四的日期和小
- echo date('Y-m-d',strtotime('2015-06-08 -2 days')); // 某個日期的前n天
- ?>
輸出:
- date()函數輸出格式化日期:
- Tuesday
- 2012-10-07 09:23:30
- 2012/10/07
- 2012年10月07日 09時23分30秒
- 2005-03-21
- 2011-06-27
- 2008-08-19
- 2009-11-23
- 2012-10-01 13
- 2015-06-06