【问题标题】:DateTime TimeZone in phpphp中的日期时间时区
【发布时间】:2016-01-18 09:59:27
【问题描述】:

我在不同的服务器上运行两个不同的脚本,我只需要在两个服务器上获得准确的 DateTime。所以我需要为纽约市设置时区,无论更改 php.ini (我不需要使用 php.ini 设置)

 php script :
 public static function formatMysql($str = 'now')
    {
        return date('Y-m-d H:i:s', strtotime($str));
    }

【问题讨论】:

标签: php timezone


【解决方案1】:
<?php
date_default_timezone_set('America/Los_Angeles');//Your global default timeZone.

function convertTimeZone($oTime, $oTimeZone, $nTimeZone) 
{
//Parameter string $oTime is original time to be converted from in format F-d-Y h:i:s
//Parameter string $oTimeZone is timezone to be conveted from- Timezone of $oTimeZone
//Parameter string $nTimeZone is timezone to be conveted to

date_default_timezone_set($oTimeZone);  //Change default timezone to old timezone within this function only.

$originalTime = new DateTime($oTime);

$originalTime->setTimeZone(new DateTimeZone($nTimeZone)); //Convert to desired TimeZone.

date_default_timezone_set('America/Los_Angeles') ; //Reset default TimeZone according to your global settings.

return $originalTime->format('F-d-Y h:i:s A'); //Return converted TimeZone.
} 

$LATime = convertTimeZone("2011-01-07 19:55:00","America/Chicago", "America/Los_Angeles");

echo $LATime;

【讨论】:

  • 我在我的脚本中使用亚马逊排队系统 (SQS) 在那里写消息.. 当我使用上面的代码时,在我删除上面的代码之前,消息无法传递到 SQS
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
  • 2017-11-04
  • 1970-01-01
  • 2014-11-10
  • 2013-10-28
  • 1970-01-01
  • 2012-07-18
相关资源
最近更新 更多