新浪PHP开发工程师笔/面试总结五·时间函数的用法

你竟然没有用过时间函数?

面试官如是说…

这是考察PHP实际运用能力的第一道题,当时看到这道题的时候也确实有点自惭形秽了…无论学什么语言,获取并显示时间都是基础得不能再基础的内容了吧。

官方手册里对date()函数的描述是:

1
string date ( string $format [, int $timestamp ] )

其中,$format字段是用来描述输出的date的形势,后面的$timestamp默认是time(),也就是当前时间。看到手册里的“Unix纪元”几个字的时候有点吓尿的感觉。

返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

当时也不是没打算猜一下该怎么写,不过这个$format字段到底要怎么写确实是毫无印象了…掌握好format,显示时间就轻松愉快了。如:

想输出 Jun 12th, 2013 00:42:11, 则是

echo date("M jS, Y H:i:s");

常用的$format字段:

  • 年份:

Y 四位数年份;y 两位数年份;

L 是否为闰年,bool

  • 月份:

数字月份:m 有前导零;n 无前导零

文字月份:F 完整January; M 三字缩写Jan

t 返回当前月份天数

  • 日:

星期中的第几日:N 数字1~7; w 数字0~6;

星期几: D 文本Mon到Sun; l L的小写,文本Sunday到Saturday

月份中的第几日: d 有前导零; j 无前导零; S 月份英文后缀th等

年份中的第几日: z

  • 周:

年份中的第几周:W

  • 时间:

上午/下午:a am/pm; A AM/PM

时:g/G 12/24小时制,无前导零;h/H 12/24小时制,有前导零;

分:i 00~59分,有前导零

秒:s 00~59秒,有前导零

此外还有时区的,貌似用不着,先不总结了。