2013-06-26 3 views
3

я нашел много articals на это, но ни один из не дает должного soluationкак преобразовать мой TIMESTAMP в UTC временной метки в Magento

мой текущий часовой пояс системы является = '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

+1

Временные метки UTC это часовой пояс, который вам нужно исправить, чтобы правильно подобрать время. –

+0

thankx за ваш ответ .... можете ли вы привести пример? –

+0

Если вы хотите использовать 'asia/Kolkata' в качестве своего часового пояса в своем приложении, вы можете либо установить это в php.ini, либо использовать' date_default_timezone_set ('asia/Kolkata') 'поверх ваших скриптов. Временные метки UTC по стандарту, часовой пояс, который вы предоставляете, будет добавлять/вычитать из временной метки, чтобы дать вам дату/время этой метки времени в данном заданном часовом поясе –

ответ

0

Использование 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() даты вашей базы данных ,

+0

не работает в magento .... он работает в php –

+0

PLS проверить мой обновленный ответ поможет вам конвертировать с вашим magento store – liyakat

8

Попробуйте

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

Примечание: UTC и GMT равны.