V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xoxo419
V2EX  ›  PHP

从接口获取的时间格式 2018-12-23T01:41:28Z PHP 中怎么把这个格式的时间转成时间戳呢?

  •  
  •   xoxo419 · 2018-12-23 15:16:31 +08:00 · 4563 次点击
    这是一个创建于 2167 天前的主题,其中的信息可能已经有所发展或是发生改变。
    23 条回复    2018-12-25 11:04:44 +08:00
    agdhole
        1
    agdhole  
       2018-12-23 15:21:31 +08:00
    feiyuanqiu
        2
    feiyuanqiu  
       2018-12-23 15:22:39 +08:00
    strtotime
    showecho
        3
    showecho  
       2018-12-23 15:24:51 +08:00
    这个正则就好了吧
    momocraft
        4
    momocraft  
       2018-12-23 15:29:16 +08:00   ❤️ 2
    这个格式是正经的 iso8601
    InternetExplorer
        5
    InternetExplorer  
       2018-12-23 15:36:33 +08:00 via Android
    用正则匹配出年月日时分秒,然后算从 1970 年到这个时间点过了多少秒,就是时间戳啦,是不是很简单(;滑稽
    lihongjie0209
        6
    lihongjie0209  
       2018-12-23 15:40:17 +08:00   ❤️ 2
    这么规范的格式还用正则, 有什么想不开的.

    你可以格式化时间难道就不可以反向解析, 常见的语言都有这个功能把
    qiayue
        7
    qiayue  
       2018-12-23 15:48:55 +08:00
    用 strtotime
    <?php
    $t = strtotime('2018-12-23T01:41:28Z');
    $d = date('Y-m-d H:i:s', $t);
    echo $t;
    echo '
    ';
    echo $d;


    输出
    1545529288
    2018-12-23 01:41:28
    Cbdy
        8
    Cbdy  
       2018-12-23 16:55:15 +08:00 via Android   ❤️ 1
    如何评价工作多年的同事没有听过 ISO8601 ?
    gainsurier
        9
    gainsurier  
       2018-12-23 16:56:39 +08:00
    这是 rfc3339 规范
    GDC
        10
    GDC  
       2018-12-23 17:10:42 +08:00   ❤️ 1
    @lihongjie0209 +1,这么规范的格式还这么多说用正则的…
    learnshare
        11
    learnshare  
       2018-12-23 17:48:33 +08:00
    这个是标准时间表示方法,要什么正则
    http://php.net/manual/zh/function.strtotime.php
    tujin
        12
    tujin  
       2018-12-23 18:25:06 +08:00 via Android
    说用正则的估计都没怎么处理过时间的数据吧
    dobelee
        13
    dobelee  
       2018-12-23 18:37:08 +08:00 via Android
    笑尿。难怪那么多人黑 php。那么标准的时间格式用正则切割,算你们想得出来。🙈🙈
    misaka19000
        14
    misaka19000  
       2018-12-23 18:41:55 +08:00 via Android
    楼主是来黑 PHP 的,大伙散了吧
    Egfly
        15
    Egfly  
       2018-12-23 19:03:06 +08:00 via iPhone
    1 楼正解,强大的 carbon 包可以解决你绝大部分时间处理问题
    DavidNineRoc
        16
    DavidNineRoc  
       2018-12-23 20:51:21 +08:00
    不要自己正则什么鬼,时区问题能让你头大。
    直接:
    Carbon:make('2018-12-23T01:41:28Z');
    //
    有人可能会说了,这么简单还用 carbon,直接字符串处理就行了。
    但是用 Carbon 有一个好处,可以把这个时间戳转成你本地的时区,贼方便。
    JasonCao2018
        17
    JasonCao2018  
       2018-12-23 21:18:37 +08:00
    7 楼正解
    yogogo
        18
    yogogo  
       2018-12-23 21:32:12 +08:00 via iPhone
    可怕😱
    ys0290
        19
    ys0290  
       2018-12-23 21:42:14 +08:00 via iPhone
    这么规范的格式上哪儿找去
    date('Y-m-d\TH:i:s\Z', time());
    mingyun
        20
    mingyun  
       2018-12-23 22:48:32 +08:00
    7 楼+1
    lepig
        21
    lepig  
       2018-12-24 00:10:06 +08:00
    楼主到目前为止可能都没用过 strtotime 吧
    cbasil
        22
    cbasil  
       2018-12-24 10:33:37 +08:00
    strtotime — 将任何字符串的日期时间描述解析为 Unix 时间戳

    int strtotime ( string $time [, int $now = time() ] )
    楼主多看看 PHP 文档吧
    http://php.net/manual/zh/function.strtotime.php
    stephanew
        23
    stephanew  
       2018-12-25 11:04:44 +08:00
    DateTime 类了解一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3173 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:28 · PVG 21:28 · LAX 05:28 · JFK 08:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.