php中date 时间格式转变unix时间戳

来源:互联网 发布:h5能打开淘宝app吗 编辑:程序博客网 时间:2024/05/29 19:46

 time()获取的是秒数

 date("Y-m-d H:i:s");  //如果存成datetime型在MYSQL中 必须用这种格式

实现功能:获取某个日期的时间戳,或获取某个时间的时间戳。

strtotime 将任何英文文本的日期时间描述解析为Unix时间戳[将系统时间转化成unix时间戳]

一,获取指定日期的unix时间戳 strtotime("2009-1-22") 示例如下:

echo strtotime("2009-1-22")  结果:1232553600

说明:返回2009年1月22日0点0分0秒时间戳

二,获取英文文本日期时间 示例如下:

便于比较,使用date将当时间戳与指定时间戳转换成系统时间

(1)打印明天此时的时间戳strtotime("+1 day")

当前时间:echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25

指定时间:echo date("Y-m-d H:i:s",strtotime("+1 day")) 结果:2009-01-23 09:40:25

(2)打印昨天此时的时间戳strtotime("-1 day")

当前时间:echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25

指定时间:echo date("Y-m-d H:i:s",strtotime("-1 day")) 结果:2009-01-21 09:40:25

(3)打印下个星期此时的时间戳strtotime("+1 week")

当前时间:echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25

指定时间:echo date("Y-m-d H:i:s",strtotime("+1 week")) 结果:2009-01-29 09:40:25

(4)打印上个星期此时的时间戳strtotime("-1 week")

当前时间:echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25

指定时间:echo date("Y-m-d H:i:s",strtotime("-1 week")) 结果:2009-01-15 09:40:25

(5)打印指定下星期几的时间戳strtotime("next Thursday")

当前时间:echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25

指定时间:echo date("Y-m-d H:i:s",strtotime("next Thursday")) 结果:2009-01-29 00:00:00

(6)打印指定上星期几的时间戳strtotime("last Thursday")

当前时间:echo date("Y-m-d H:i:s",time()) 结果:2009-01-22 09:40:25

指定时间:echo date("Y-m-d H:i:s",strtotime("last Thursday")) 结果:2009-01-15 00:00:00

以上示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间



unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。[1] 

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)
是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。
在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。


PHP时间格式大全

  • Y - 年,四位数字; 如: "1999"
  • y - 年,二位数字; 如: "99"
  • z - 一年中的第几天; 如: "0" 至 "365"
  • F - 月份,英文全名; 如: "January"
  • m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
  • n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
  • M - 月份,三个英文字母; 如: "Jan"
  • t - 指定月份的天数; 如: "28" 至 "31"
  • d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
  • j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
  • h - 12 小时制的小时; 如: "01" 至 "12"
  • H - 24 小时制的小时; 如: "00" 至 "23"
  • g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
  • G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
  • i - 分钟; 如: "00" 至 "59"
  • s - 秒; 如: "00" 至 "59"
  • S - 字尾加英文序数,二个英文字母; 如: "th","nd"
  • U - 总秒数
  • D - 星期几,三个英文字母; 如: "Fri"
  • l - 星期几,英文全名; 如: "Friday"
  • w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
  • a - "am" 或是 "pm"
  • A - "AM" 或是 "PM"

原创粉丝点击