PHP入门 - 时间和日期

时间戳主要应用于SQL数据库当中,通过时间戳可以判断数据有没有进行过更新,如果是密钥文件可以在客户端判断密钥有没有过期,可以使用时间戳作为文件或程序的版本号。

使用 time() 即可方便的获得当前的时间,它是从1970年开始计算的毫秒数,因此时间戳转换成当前日期要进行计算。

时间戳也可以转换成当前时间:

1
echo date('Y - m - d A h:i:s ',time()).'<br>';

时间戳也可以从指定的时间开始计算:

1
echo date('Y - m - d A h:i:s ','10000').'<br>';

如果没有指定时区,当前时间可能会与客户端不同,因此需要指定时区:

1
echo date_default_timezone_set('Asia/Hong_Kong');

通过下面的方法获得当前使用的时区:

1
echo date_default_timezone_get().'<br>';

时区的写入需要传输时区的id,点此进入时区id表

date() 不需要传入指定起始时间也可以获取当前时间,根据传入格式的不同, data() 返回的时间格式也不同,它的传入值如下:

含义 返回值
d 月份中的第几天 0131
D 星期中的第几天 MonSun
j 月份中的第几天 131
l 星期中的第几天 SundaySaturday
N 星期中的第几天(PHP 5.1 新增 ) 1(表示星期一)到 7(表示星期天)
S 每月天数后面的英文后缀 stndrd 或者 th 可以和 j 一起用
w 星期中的第几天 0(表示星期天)到 6(表示星期六)
z 年份中的第几天 0366
星期 含义 返回值
W 年份中的第几周,每周从星期一开始(PHP 4.1 新增) 例如:42(当年的第 42 周)
含义 返回值
F 完整的英文 JanuaryDecember
m 数字表示的月份 0112
M 三个字母缩写表示的月份 JanDec
n 数字表示的月份 112
t 给定月份所应有的天数 2831
含义 返回值
L 是否为闰年 如果是闰年为 1 否则为 0 10
o Y 的值相同 但按星期数(W)确定是哪一年(PHP 5.1 新增) 1999
Y 4 位数字完整表示的年份 1999
y 2 位数字表示的年份 99
时间 含义 返回值
a 小写的上午和下午值 ampm
A 大写的上午和下午值 AMPM
B Swatch Internet 标准时 000999
g 小时 12 小时格式 没有前导零 112
G 小时 24 小时格式 没有前导零 023
h 小时 12 小时格式 有前导零 0112
H 小时 24 小时格式 有前导零 0023
i 有前导零的分钟数 0059>
s 秒数 有前导零 0059>