简介

New.Date 是一个关于PHP日期与时间的网站,利用PHP对日期时间进行存取以及加减等操作

基本概念
  • 1.GMT 是英国格林尼治所在地时间标准

    2.GMT 曾经是全世界各个国家以及地区时间的参考,大家根据这个GMT标准来确定自己当地的时间.

    3.随着科技的进步,人们发现根据GMT标准设定的时间不够精确,于是想出了一个更加精确的参考标准时间UTC.

    4.无论是GMT还是UTC,都是世界上公认的时间参考,各个国家地区根据它们来确定本地时间

  • 1.时间戳又称为UNIX时间戳

    2.根据GMT/UTC时间标准,1970年01月01日00时00分00秒为起始值,期间经过的总秒数就是时间戳.

  • 1.人们把地球按经度划分为不同的区域,这些区域代表不同的时区

    2.各个时区是以GMT/UTC时间为参照物,经过一定的偏移量产生的

    3.比如中国相对于GMT/UTC标准向东提前了8个位置,产生了8个偏移量,所以中国时区被称为东八区(UTC+8)

常用函数
  • 1.PHP date() 函数可以将时间/日期格式化为特定的形式。

    2.通过向date函数传送一个代表某种时间格式的参数,就可以将某个时间转换为某种格式

  • PHP time() 函数可以获取当前时间的时间戳

  • 1.PHP mktime() 获取某个特定格式时间的时间戳

    2.通过向mktime函数传送特定格式的时间,就可以获取这个时间的时间戳

  • PHP strtotime() 将任何英文文本格式的日期时间解析为时间戳

    如果你的时间里面包含中文文本,比如"2019年"这些字符,你要先提取出英文类字符,才能解析为时间戳

  • 这是一个更改PHP程序默认时区的函数

mysql数据库存储时间常用字段类型
  • 这种数据库字段类型存储格式为 2019-09-09

  • datetime字段存储格式为 2019-09-09 23:59:59

  • 它跟datetime一样,但需要注意的是,它的数值范围从1970-01-01 00:00:01开始

  • 上面几种时间存储类型都不利于各种数据库之间快速转换,而varchar恰好可以兼容各种数据库

    这种类型只适合纯粹的存时间、显示或者查找时间,但不利于时间对比以及计算

常见时间格式

使用date()函数时候,有一个强制性的参数,那就是时间格式

比如我传递这个格式 Y-m-d H:i:s 进去,那么date("Y-m-d H:i:s")将会输出当前的时间2019-09-10 20:47:36

时间格式是由一些控制符组合而成,比如控制符 Y、m、d等等,其中Y就代表4位数字的年份,如:1999 、 2003等等

php格式化时间常用的控制符如下

控制符 实际效果
Y 表示年,四位数字,2019
y 表示年,二位数字,19
M 月份,英文单词三位简写,Jan
m 月份,二位数字,若不足二位则在前面补零,01
D 星期几,英文单词三位简写,Sun
d 日,二位数字,若不足二位则前面补零; 01
H 小时,24小时制,最大24, 01
h 小时,12小时制,最大12, 01
G 小时,24小时制,不足二位补零,最大24, 01
g 小时,12小时制,不足二位不补零,最大12, 1
W 一年中的第几周,二位数字,01
w 星期几,一位数字,从周日开始,星期日为0
A 下午时间,二位字母, pm或者PM
a 上午时间,二位字母, am或者AM
z 表示一年中的第几天,一个数字,0~365
F 月份,完整的英文名字,January
n 月份,二位数字,若不足二位则在前不补零,1
t 天数,一个数字,判断某个月有多少天,31
j 日,二位数字,若不足二位不补零; 1
i 分钟,二位数字,01
s 秒,二位数字, 01
l 星期几,这是小写字母L,英文单词全拼,Monday
常见时区

网站通过代码显示的时间默认是服务器所在地的时间,当你的服务器在欧美,就需要调整为中国的时区。

这是修改时区的PHP代码 date_default_timezone_set("Asia/Shanghai"),其中Asia/Shanghai 这个传递的参数就是代表中国时区

这种时区的PHP代码标识,一般都是 大洲的名字/城市 这种格式

国家 时区标识
中国 Asia/Shanghai
美国东部 America/New_York
美国太平洋 America/Los_Angeles
英国 Europe/London
法国 Europe/Paris
俄罗斯 Europe/Moscow
日本 Asia/Tokyo
经典案例