• 技术文章 >后端开发 >PHP问题

    php怎么将时间戳转换时间格式?

    青灯夜游青灯夜游2020-11-05 10:34:44原创617

    在php中,可以使用date()函数来将时间戳转换时间格式,该函数可以将时间戳格式化为可读性更好的日期和时间,语法格式“date("时间戳的输出格式",时间戳)”,例如“date("Y-m-d H:i:s",时间戳)”。

    推荐:《PHP视频教程

    当时间和日期保存在计算机中的时候,可以使用 UNIX 时间戳作为标准格式。但是 UNIX 时间戳的可读性很差,所以有时我们需要把 UNIX 时间戳格式化为可读性更好的时间和日期,或者格式化为其它软件需要的格式。

    在 PHP 中可以使用 date() 函数可把时间戳格式化为可读性更好的日期和时间。

    该函数的语法格式如下:

    date($format [,$timestamp])

    参数:

    参数 $format 格式化字符串中可以识别的特殊字符如下表所示:

    format 字符说明返回值例子
    ------
    d月份中的第几天,使用两位的数字表示,不足两位时在前面补 001 到 31
    D星期几的英文缩写(使用 3 个字母表示)Mon 到 Sun
    j月份中的第几天,没有前导零131
    l(“L”的小写字母)星期几的英文单词Sunday 到 Saturday
    N根据 ISO-8601 标准格式,使用数字表示星期中的第几天(PHP5.1.0 新加)1(表示星期一)到 7(表示星期天)
    S每月天数后面的英文后缀(使用 2 个字符表示)st、nd、rd 或者 th。可以和 j 一起使用
    w使用数字表示星期中的第几天0(表示星期天)到 6(表示星期六)
    z使用数字表示一年中的第几天0 到 365
    星期------
    W根据 ISO-8601 标准格式,使用数字表示年份中的第几周,每周从星期一开始,(PHP 4.1.0 新增)例如:42(当年的第 42 周)
    ------
    F月份的英文单词,例如 January 或者 JuneJanuary 到 December
    m使用两位的数字表示当前月份01 到 12
    M月份的英文缩写Jan 到 Dec
    n使用数字表示当前月份1 到 12
    t指定月份的天数28 到 31
    ------
    L指定的年份是否为闰年如果是闰年值为 1,否则为 0
    o根据 ISO-8601 标准格式使用数字表示年份,这和 Y 的作用相同(PHP 5.1.0 新增)1999 or 2019
    Y使用 4 位数字表示完整的年份例如:1999 或 2019
    y使用 2 位数字表示年份例如:99 或 03
    时间------
    a小写的上午和下午值am 或 pm
    A大写的上午和下午值AM 或 PM
    BSwatch 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 新增)。需要注意的是 date() 函数总是返回 000000,因为它只接受 integer 参数,而 DateTime::format() 才支持毫秒例如:654321
    时区------
    e时区标识例如:UTC、GMT、Atlantic/Azores
    I(大写的“i”)是否为夏令时夏令时为 1,否则为 0
    O与格林尼治时间相差的小时数例如:+0200
    P与格林尼治时间(GMT)的差别,小时和分钟之间由冒号分隔例如:+02:00
    T本机所在的时区例如:EST、MDT(在 windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)
    Z时差偏移量的秒数,UTC 西边的时区偏移量总是负的,UTC 东边的的时区偏移量总是正的-43200 到 43200
    完整的日期/时间------
    cISO-8601 格式的日期2014-02-12T15:19:21+00:00
    rRFC 822 格式的日期例如:Thu,21 Dec 2000 16:01:07 +0200
    U从 UNIX 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数和 time() 返回相同的时间戳

    提示:特殊字符中不能被识别的字符将原样显示,Z 字符在使用 gmdate() 函数时总是返回 0。

    示例1:

    <?php
    echo date("Y-m-d H:i:s","1256112010")."<br>";
    echo date('l dS \\\\\\\\\\\\\\\\of F Y h:i:s A',"1220976000")."<br>";
    echo date("Y/m/d H:i:s","1604629565")."<br>";
    echo date("Y.m.d H:i:s","1604545871");
    ?>

    输出:

    2009-10-21 16:00:10
    Wednesday 10th of September 2008 12:00:00 AM
    2020/11/06 10:26:05
    2020.11.05 11:11:11

    示例2:

    <?php
    header('content-type:text/html;charset=utf-8');
    // 设定要用的时区
    date_default_timezone_set('PRC');
    // 输出类似Monday
    echo date("l");
    echo "<br/>";
    // 输出类似Monday 15th of August 2005 03:12:46 PM
    echo date('l dS \\\\\\\\\\\\\\\\of F Y h:i:s A');
    echo "<br/>";
    // 输出July 1, 2000 is on a Saturday
    echo "July 1, 2000 is on a " . date("l");
    echo "<br/>";
    /* 在格式参数中使用常量 */
    // 输出类似Wed, 25 Sep 2013 15:28:57 -0700
    echo date(DATE_RFC2822);
    echo "<br/>";
    // 输出类似2000-07-01T00:00:00+00:00
    echo date(DATE_ATOM);
    echo "<br/>";
    //输出类似2000-07-01 14:00:00
    echo date('Y-m-d H:i:s').'<br>';
    $time = time();
    echo '是一周中的第 '.date('w', $time).' 天<br>';
    echo '今年是:';
    date('L', $time)? print('闰年'):print('平年');
    ?>

    输出:

    Thursday
    Thursday 05th of November 2020 10:32:44 AM
    July 1, 2000 is on a Thursday
    Thu, 05 Nov 2020 10:32:44 +0800
    2020-11-05T10:32:44+08:00
    2020-11-05 10:32:44
    是一周中的第 4 天
    今年是:闰年

    更多编程相关知识,请访问:编程教学!!

    以上就是php怎么将时间戳转换时间格式?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 时间戳
    上一篇:解决php json中文乱码问题 下一篇:php怎么删除数据库数据
    大前端线上培训班

    相关文章推荐

    • 如何解决iis php服务器错误• php如何去掉html• php 验证码无法显示怎么办• php 数据库删除的实现方法• 解决php mysql中文乱码问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网