PHP 日期和时间

225 阅读2分钟
  1. 概念

时间戳:从格林威治时间 1970年01月01日 00:00:00 到某个时间的秒数

  1. 获取当前时间戳(秒数)
time()
  1. 获取当前时间戳(秒数和微秒数)
microtime([是否合并秒数和微秒数])
  • 参数是否合并秒数和微秒数:默认值为 false
  • 返回值:其中微秒数的单位为秒
微秒数 秒数当参数是否合并秒数和微秒数为 false 时
秒数和微秒数当参数是否合并秒数和微秒数为 true 时
  1. 由日期和时间获取时间戳
mktime([时[, 分[, 秒[, 月[, 日[, 年]]]]]])
  • 参数时:0~23,默认值为当前时
  • 参数分:0~59,默认值为当前分
  • 参数秒:0~59,默认值为当前秒
  • 参数月:1~12,默认值为当前月
  • 参数日:1~31,默认值为当前日
  • 参数年:2 位数字或 4 位数字,默认值为当前年
  1. 由日期和时间获取时间戳
strtotime(日期和时间[, 当前时间戳])
  • 参数日期和时间:
now当前日期和时间
年-月-日日期
年-月-日 时:分:秒日期和时间
+/- n year n month n week n day n hour n minute n second当前日期和时间加若干时间
年-月-日 +/- n year n month n week n day n hour n minute n second日期加若干时间
年-月-日 时:分:秒 +/- n year n month n week n day n hour n minute n second日期和时间加若干时间
  • 参数当前时间戳:默认值为当前时间戳
  1. 由时间戳获取日期和时间
date(日期和时间的格式[, 时间戳])
  • 参数日期和时间的格式:
Y4 位数字的年
y2 位数字的年
m月(01~12)
n月(1~12)
t月的天数(28~31)
d日(01~31)
j日(1~31)
W周(1~54)
w星期(0~6,其中 0 表示星期天)
N星期(1~7,其中 7 表示星期天)
A上午和下午(AM、PM)
a上午和下午(am、pm)
H24 小时的时(00~23)
h12 小时的时(01~12)
G24 小时的时(0~23)
g12 小时的时(1~12)
i分(00~59)
s秒(00~59)
L是否为闰年(0、1)
  • 参数时间戳:默认值为当前时间戳
  1. 设置默认时区
date_default_timezone_set(时区)
  • 参数时区:中国为 ‘PRC’ 或 ‘Asia/Shanghai’
  1. 获取默认时区
date_default_timezone_get()
  • 默认时区的优先顺序:
    • date_default_timezone_set() 函数设置的默认时区
    • php.ini 文件的 date.timezone 选项设置的默认时区
    • UTC