【问题标题】:In PHP: How to store the current time/date in UTC format in a string?在 PHP 中:如何将当前时间/日期以 UTC 格式存储在字符串中?
【发布时间】:2009-12-15 20:48:27
【问题描述】:

示例:

$date = '2009 年 2 月 18 日星期三 16:03:52 GMT';

//如何让$date以相同的格式与当前时间相等?

【问题讨论】:

    标签: php datetime utc


    【解决方案1】:

    我假设您的意思是如何获得类似的格式?由于预定义的日期常量中没有完全匹配,因此可以这样做:

    $date = gmdate('D, j M Y H:i:s e');
    

    这将以与“2009 年 2 月 18 日星期三 16:03:52 GMT”相同的格式返回当前日期和时间。

    编辑

    GMT 和 UTC(在正常情况下)完全可以互换,并且由于 gmdate 总是返回 GMT/UTC 日期,您可以使用这个:

    $date = gmdate('D, j M Y H:i:s').' GMT';
    

    或者,事实证明,您可以将 e 替换为 T 以获得 GMT:

    $date = gmdate('D, j M Y H:i:s T');
    

    【讨论】:

    • 看起来不错,但我正在尝试填充对格式非常具体的 Web 标头的值。上面的函数返回类似:Tue, 15 Dec 2009 20:59:04 UTC 你知道为什么最后是 UTC 而不是 GMT 吗?如果我能做些什么来让它变成 GMT?
    • 我的版本要短得多;-)
    • @stormist:只需将“e”更改为“T”:$date = gmdate('D, j M Y H:i:s T'); “e”是标识符(“UTC”、“America/Chicago”),“T”是缩写(“GMT”、“CST”)。
    【解决方案2】:

    我不确定我是否完全理解,但如果你只是想转换字符串,你可以使用strtotime()

    【讨论】:

      【解决方案3】:
      $date = gmdate(DATE_RFC822);
      

      【讨论】:

      • RFC 822 returnf 例如:'Mon, 15 Aug 05 15:52:01 +0000',不是 完全 OP 想要的。
      • Tatu 打败了我,虽然我确实检查过了,但还是不错的尝试
      【解决方案4】:

      看看 Carbon - DateTime 的 PHP API 扩展 (链接-https://github.com/briannesbitt/Carbon

      $now = Carbon::now('UTC');
      

      您可以按如下方式访问各个值

      $y = $now->year;
      $h = $now->hour; // and so no
      

      虽然您可以使用 format() 来获取预期的日期格式,如下所示

      $str_date = $now->format('D, d M Y H:i:s T'); // "Mon, 27 Apr 2015 22:12:30 UTC"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-06
        • 2020-09-26
        • 2010-11-23
        • 1970-01-01
        • 2015-06-20
        • 2013-09-14
        • 1970-01-01
        • 2016-01-11
        相关资源
        最近更新 更多