若当前时间戳为$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