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 月份中的第几天 01 到 31
D 星期中的第几天 Mon 到 Sun
j 月份中的第几天 1 到 31
l 星期中的第几天 Sunday 到 Saturday
N 星期中的第几天(PHP 5.1 新增 ) 1(表示星期一)到 7(表示星期天)
S 每月天数后面的英文后缀 st,nd,rd 或者 th 可以和 j 一起用
w 星期中的第几天 0(表示星期天)到 6(表示星期六)
z 年份中的第几天 0 到 366
星期 含义 返回值
W 年份中的第几周,每周从星期一开始(PHP 4.1 新增) 例如:42(当年的第 42 周)
月 含义 返回值
F 完整的英文 January 到 December
m 数字表示的月份 01 到 12
M 三个字母缩写表示的月份 Jan 到 Dec
n 数字表示的月份 1 到 12
t 给定月份所应有的天数 28 到 31
年 含义 返回值
L 是否为闰年 如果是闰年为 1 否则为 0 1 或 0
o 和 Y 的值相同 但按星期数(W)确定是哪一年(PHP 5.1 新增) 1999
Y 4 位数字完整表示的年份 1999
y 2 位数字表示的年份 99
时间 含义 返回值
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>

​