3

我发现了很多关于此的文章,但没有一个给出适当的解决方案

我当前的系统时区是 ='asia/Kolkata'

我当前的 magento 时区是'asia/shanghai'

这给了我正确的UTC时间在这里系统时间是'2013-06-26 15:34:00'

   $timezone = date_default_timezone_get();
   date_default_timezone_set($timezone);

   $now = Mage::getModel('core/date')->timestamp(time());
   $current_date= date('Y-m-d H:i:s');

所以这里 $current_date ='2013-06-26 18:04:30'

但我还有另一个 mytimestamp ..... ex :- $time = '2013-06-26 15:34:00';

   $scheduletime = '2013-06-26 15:19:00';
   $dateTimestamp = Mage::getModel('core/date')->timestamp(strtotime($scheduletime));
   $schedule_time = date('Y-m-d H:i:s',strtotime($scheduletime));

所以这里 $schedule_time ='2013-06-26 23:34:00'

所以实际上我想要的是获得这两次之间的差异,它应该是:0

4

2 回答 2

8

尝试

Mage::getSingleton('core/date')->gmtDate();

注意:UTC 和 GMT 是相等的。

于 2013-12-10T20:23:16.117 回答
1

使用 strtotime 从给定的字符串(解释为本地时间)生成时间戳,并使用 gmdate 将其作为格式化的 UTC 日期返回。

例如

根据要求,这是一个简单的示例:

echo gmdate('d.m.Y H:i', strtotime('2012-06-28 23:55'));

或者您也可以将本地设置与商店一起使用,如下所示

Mage::app()->getLocale()->storeDate(
            $this->getStore(),
            Varien_Date::toTimestamp($this->getCreatedAt()),
            true
        );

$this->getCreatedAt()您的数据库日期在哪里。

于 2013-06-26T10:54:24.153 回答