Drupal timezone bilgisi

2 Cevap php

Benim drupal kurulumu ben ben kullanarak admin panelinde belirtilen timezone saniyede UTC offset alabilirsiniz

variable_get('date_default_timezone', 0)

Ancak, şimdi biz ışığından zamanı var, ben almak saatini bir saat her zaman kapalıdır. Örneğin "Europe / Berlin" gibi, Drupal gerçek dilimi dize almak için bir yolu var mı?

Nedeni Zend Framework Zend_Date ile kullanmak zorunda olduğunu, ancak Drupal gibi, PHP varsayılan zaman dilimini değil

echo date_default_timezone_get();

Bana Sistemi / localtime verir.

2 Cevap

Ben çözüm bulundu:

özel kullanıcı dilimleri admin panelinde devre dışı bırakıldığında date_default_timezone sadece ayarlanır! Eğer bu seçeneği kapalı kontrol ettiğinizden emin olun.

Değişken date_default_timezone her zaman olmalıdır right.

Örneğin, Fransa'da, kışın (UTC +1) 3600, ve 7200 yaz aylarında (UTC +2) gerekmektedir.


The thing is the value it contains will not change by magic : there is a cron hook called date_timezone_cron that must be run in order to change that when it's required (quoting) :

Update the site timezone offset when cron runs.
This is to make sure that modules that rely on the timezone offset have current information to process.


After that, if you need the name of the current timezone -- the one selected in the admin section -- there is probably another row in the variable tables for that.

Sen gibi bir SQL ile bulabiliriz:

select *
from variable
where name like '%timezone%';

Bu büyük olasılıkla birkaç satır dönecektir; ancak bunlardan biri bariz bir seçim olacaktır.

Kaynak koddan bakılırsa date_timezone.module , I would bet on a variable called date_default_timezone_name.