在我的Drupal站點上創建新事件時,我將事件的日期/時間設置爲我所假設的當地時間。我預計系統中的日期/時間將設置爲我在添加/編輯表單中看到的值,但不是;它被設置爲UTC。如何在Drupal中使用Date模塊正確顯示時間?
Event Start (add/edit form): 2012-12-20 1:00pm EST
Event Start (database): 2012-12-20 6:00pm UTC
當我去使用日期()甚至默認的時區設置爲EST(「美國/多倫多」)的日期後顯示此日期/時間/時仍顯示出2012年12月20日下午6:00 。
該問題似乎不一定是drupal,日期/時間正在顯示它的存儲方式,但我認爲這個問題可能是日期/時間在添加/編輯表單上的輸入控件...可能的JavaScript時間相關。因爲他們顯示
值被公佈:下午5:00去到服務器3個不同的值:5,00,PM。它們以UTC的形式存儲在數據庫中,但無論我嘗試什麼,它們始終顯示爲UTC。具有S-
我恨做手工,但這個工程::我已經試過format_date,date_default_timezone_set,設置PHP時區的.htaccess文件...沒有運氣
$tz = new DateTimeZone('America/Toronto');
$offset = $tz->getOffset(new DateTime($start_date));
$start_stamp = strtotime($start_date) + $offset;
謝謝你的解決方法。如果您已經使用DateObjects,那麼它們可以很好地作爲DateTimeZone :: getOffset的參數。 – nymo 2012-06-07 02:18:47