php的时间格式整理总结

PHP   2023-03-09 08:39   693   0  


PHP中的日期和时间主要是靠 date() 函数来获取并格式化的,虽说这东西使用频率非常高,但有时也会忘记或搞混,故现小结如下...

一、年/月/日

1、年

Y(2010):大写Y表示年四位数字

y(10) :小写y表示年的两位数字


2、月

F(January):大写F表示月份的英文全写(没有小写f)

M(Jan) :大写M表示月份的3个缩写字符

m(01-12) :小写m表示月份的数字,带前导

n(1-12) :小写n表示月份的数字,无前导


3、日

j(1-31) :小写j表示月份的日期,无前导(没有大写的J)

d(01-31) :小写d表示月份的日期,有前导(没有大写D)

S(st、nd、rd、th):大写S表示日期的后缀,具体看日期数字为何


4、实例

Y-m-j(2007-02-6 )

y-n-j(07-2-6)

Y-M-j(2007-Feb-6)

Y-m-d(2007-02-06)

Y-F-jS(2007-February-6th)


二、时:分:秒

1、时

g(1-12):小写g表示12小时制的小时数,无前导0

h(01-12):小写h表示12小时制的小时数,有前导0

G(0-23):大写G表示24小时制的小时数,无前导0

H(01-23):大写的H表示24小时制的小时数,有前导0


a 表示小写的"am"和"pm"(上午、下午)

A 表示大写的"AM"和"PM"


2、分:秒

默认情况下,PHP解释显示的时间为"格林威治标准时间",与我们本地的时间相差8个小时。


i(1-60):小写i表示分

s(1-60):小写s表示秒


3、实例

g:i:s a(5:56:57 am)

h:i:s A(05:56:57 AM)

G:i:s(14:02:26)


三、闰年、星期、天

大写L表示判断今年是否闰年,布尔值,为真返回1,否则为0

小写w表示星期几,数字形式表示

大写W表示一年中的星期数

小写t表示当前月份有多少天

小写z表示今天是本年中第几天


四、预定义的 Date/Time 常量

常量描述
DATE_ATOMAtom (例如:2005-08-15T16:13:03+0000)
DATE_COOKIEHTTP Cookies (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_ISO8601ISO-8601 (例如:2005-08-14T16:13:03+0000)
DATE_RFC822RFC 822 (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_RFC850RFC 850 (例如:Sunday, 14-Aug-05 16:13:03 UTC)
DATE_RFC1036RFC 1036 (例如:Sunday, 14-Aug-05 16:13:03 UTC)
DATE_RFC1123RFC 1123 (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_RFC2822RFC 2822 (例如:Sun, 14 Aug 2005 16:13:03 +0000)
DATE_RSSRSS (例如:Sun, 14 Aug 2005 16:13:03 UTC)
DATE_W3C万维网联盟 (例如:2005-08-14T16:13:03+0000)



五、过去日期,未来日期

echo "当前日期 :" . date('Y-m-d H:i:s') . "\n";
echo "上一年 :" . date('Y-m-d H:i:s', strtotime('-1 year')) . "\n";
echo "下一年 :" . date('Y-m-d H:i:s', strtotime('+1 year')) . "\n";
echo "上一月 :" . date('Y-m-d H:i:s', strtotime('-1 month')) . "\n";
echo "下一月 :" . date('Y-m-d H:i:s', strtotime('+1 month')) . "\n";
echo "上周 :" . date('Y-m-d H:i:s', strtotime('-7 day')) . "\n";
echo "下周 :" . date('Y-m-d H:i:s', strtotime('+7 day')) . "\n";
echo "昨天 :" . date('Y-m-d H:i:s', strtotime('-1 day')) . "\n";
echo "明天 :" . date('Y-m-d H:i:s', strtotime('+1 day')) . "\n";
echo "上一小时:" . date('Y-m-d H:i:s', strtotime('-1 hour')) . "\n";
echo "下一小时:" . date('Y-m-d H:i:s', strtotime('+1 hour')) . "\n";

// 分 :minute  秒:second


六、其他

大写T表示服务器的时间区域设置,如值为UTC

大写I表示判断当前是否为夏令时,为真返回1,否则为0

大写U表示从1970年1月1日到现在的总秒数,就是Unix时间纪元的UNIX时间戳。

小写c表示ISO8601日期,日期格式为YYYY-MM-DD,用字母T来间隔日期和时间,时间格式为HH:MM:SS,时区使用格林威治标准时间(GMT)的偏差来表示,如值为2007-02-06T14:24:43+00:00

小写r表示RFC822日期,如值为Tue, 06 Feb 2007 14:25:52 +0000


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。
闲言碎语
你所有的忧伤,都来自于你的余额。
赞赏支持

如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~