【问题标题】:PHP convert mktime result to UTCPHP 将 mktime 结果转换为 UTC
【发布时间】:2016-08-16 23:03:50
【问题描述】:

我正在使用此代码在 PST(又名美国/洛杉矶)时间生成昨天的一天开始。我不知道如何将结果转换为 UTC。

date_default_timezone_set("America/Los_Angeles");
$time1 = date("Y-m-d H:i:s", mktime(0,0,0, date('n'), date('j')-1, date('Y')));

我试过了,但 $time1 不是日期时间,它是字符串。所以下面的行不通。

$time1->setTimezone(new DateTimeZone("UTC")); 

【问题讨论】:

    标签: php datetime utc mktime


    【解决方案1】:

    DateTime 类可以为您完成所有这些工作

    $date = new DateTime(null, new DateTimeZone('America/Los_Angeles')); // will use now
    
    echo $date->format('d/m/Y H:i:s');   //16/08/2016 16:13:29
    
    $date->setTime(0,0,0);  
    $date->modify('-1 day');
    echo $date->format('d/m/Y H:i:s');   // 15/08/2016 00:00:00
    
    $date->setTimezone(new DateTimeZone('UTC'));
    echo $date->format('d/m/Y H:i:s');    // 15/08/2016 07:00:00
    

    【讨论】:

    • 现在这是一个有价值的代码示例...考虑在文档部分发布:)。
    猜你喜欢
    • 1970-01-01
    • 2011-07-25
    • 2019-05-22
    • 1970-01-01
    • 2018-11-08
    • 2010-11-07
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多