PHP 格式化时间戳

Posted YaLe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 格式化时间戳相关的知识,希望对你有一定的参考价值。

 php 想要格式化时间戳的话,首先想到的肯定是 date(\'Y-m-d H:i:s\')

但是有的时候会遇到一些复杂的时间格式,比如:2020-10-10 的 上个月的 10 号 时间格式要求 200910 

这样的一般情况下会用下面的情况来写,可能会更复杂

date(\'Ymd\',strtotime(\'2020-10-10 00:00:00 -1 month\'))-20000000;

如果知道一些 date 的其他的格式化方式就不会去计算怎么去掉 2020 年前面的 20 了

下面是我仔细看了 date 函数后 写的解决方法

date(\'ymd\', strtotime(\'2020-10-10 -1 month\'));

下面是 date 函数的一些用法

date( string $format [, int $timestamp]):string
   /**
     * date(string $format [, int $timestamp]);
     * format 格式                    说明                                        返回值例子
     *      日       -----------------------------------
     *      d                   月份中的第几天,有前导零的 2 为数字                   01 ~ 31
     *      D                   星期中的第几天,文本表示, 3 个字母                   Mon ~ Sun
     *      j                   月份中的第几天,没有前导零                           1 ~ 31
     *      l("L" 的小写字母)   星期几,完整的文本格式                               Sunday ~ Saturday
     *      N           ISO-8601 格式数字标示顿额星期中的第几天(PHP 5.1.0 新加)     1 (表示星期一)~ 7 (表示星期天)
     *      S           每月天数后面的英文后缀,2个字符                              st,nd,rd 或者 th、可以和 j 一起使用
     *      W           星期中的第几天,数字表示                                     0 (表示星期天)~ 6 (表示星期六)
     *      z           年份中的第几天                                              0 ~ 365
     *      星期      -----------------------------------
     *      W           ISO-8610 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加)  42 (当年的第42 周)
     *      月        -----------------------------------
     *      F           月份,完整的文本格式,例如 January 或者 March                 January 到 December
     *      m           数字表示的月份,有前导零                                      01 ~ 12
     *      M           三个字母缩写表示的月份                                       Jan ~ Dec
     *      n           数字表示的月份,没有前导零                                     1 ~ 12
     *      t           指定的月份有几天                                              28 ~ 31
     *      年        ------------------------------------
     *      L           是否为闰年                                                   如果是闰年 为 1,否则 为 0
     *      o           ISO-8610 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)     Examples:1999 or 2003
     *                  属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)
     *      Y           4 位数字完整表示的年份                                        例如:1999 或 2003
     *      y           2 位数表示的年份                                             例如:99 或 03
     *      时间      -------------------------------------
     *      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
     *      u           毫秒 (PHP 5.2.2 新加)。需要注意的是返回 000000 因为
     *                  它只接受 integer 参数, 而 DateTime::format() 才支持毫秒     654321
     *      时区      --------------------------------------
     *      e           时区标识(PHP 5.1.0 新加)                                      例如:UTC,GMT,Atlantic.Azores
     *      l           是否为夏令时                                                  夏令时 1  否则为 0
     *      O           与格林威治时间相差的小时数                                       例如: +0200
     *      P           与格林威治时间(GMT)的差别,小时和分钟之间有冒号分割(PHP 5.1.3新加)   例如:+02:00
     *      T           本机所在的时区                                                例如:EST,MDT(在 Windows 下为完整文本格式,例如 "Eastern Standard Time",中文版会显示"中国标准时间")
     *      Z           时差偏移量的秒数。UTC 西边的时区偏移量总是负的                      -43200 ~ 43200
     *                      UTC 东边的时区偏移量总是正的。
     *      完整的日期/时间        ------------------------------------
     *      c           ISO 8601 格式的时间(PHP 5 新加)                              2004-02-12T15:19:21+00:00
     *      r           RFC 822 格式的日期                                            例如:Thu, 21 Dec 2000 16:01:07 +0200
     *      U       从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数             time()
     *      // 设置时区
     *      date_default_timezone_set(\'UTC\');
     */

知识在于 活学活用 和 学以致用

以上是关于PHP 格式化时间戳的主要内容,如果未能解决你的问题,请参考以下文章

php 怎么将指定日期转换为时间戳

php 时间戳,能够取得具体时间量的时间错值吗?例如10分钟的时间戳是多少?刚接触php,谢谢了。

php时间格式转换

php获取UTC时间戳

PHP 格式化时间戳

PHP日期格式化