Php Drupal时区信息

Php Drupal时区信息,php,drupal,timezone,Php,Drupal,Timezone,在我的drupal安装中,我可以使用以下命令获得从UTC(以秒为单位)到我在管理面板中指定的时区的偏移量 variable_get('date_default_timezone', 0) 然而,现在我们有夏时制,我得到的时间总是减少一小时。有没有办法从Drupal中检索实际的时区字符串,例如“Europe/Berlin” 原因是,我必须将它与Zend Framework的Zend_日期一起使用,但是Drupal没有将PHP默认时区设置为 echo date_default_timezone_g

在我的drupal安装中,我可以使用以下命令获得从UTC(以秒为单位)到我在管理面板中指定的时区的偏移量

variable_get('date_default_timezone', 0)
然而,现在我们有夏时制,我得到的时间总是减少一小时。有没有办法从Drupal中检索实际的时区字符串,例如“Europe/Berlin”

原因是,我必须将它与Zend Framework的Zend_日期一起使用,但是Drupal没有将PHP默认时区设置为

echo date_default_timezone_get();

给我系统/本地时间。

变量
date\u default\u timezone
应该总是正确的

例如,在法国,冬季(UTC+1)应为3600,夏季(UTC+2)应为7200


关键是它包含的值不会被魔法改变:有一个名为
cron
的钩子必须运行,以便在需要时改变它(引用):

在以下情况下更新站点时区偏移: 克朗跑<这是为了确保 依赖时区的模块 偏移量有当前信息吗 过程


在此之后,如果您需要当前时区的名称(在管理部分中选择的名称),
变量表中可能还有另一行

您可以通过SQL找到它,例如:

select *
from variable
where name like '%timezone%';
它很可能返回几行;但其中之一应该是显而易见的选择


从的源代码判断,我会打赌一个名为
date\u default\u timezone\u name
的变量
date\u default\u timezone
应该总是正确的

例如,在法国,冬季(UTC+1)应为3600,夏季(UTC+2)应为7200


关键是它包含的值不会被魔法改变:有一个名为
cron
的钩子必须运行,以便在需要时改变它(引用):

在以下情况下更新站点时区偏移: 克朗跑<这是为了确保 依赖时区的模块 偏移量有当前信息吗 过程


在此之后,如果您需要当前时区的名称(在管理部分中选择的名称),
变量表中可能还有另一行

您可以通过SQL找到它,例如:

select *
from variable
where name like '%timezone%';
它很可能返回几行;但其中之一应该是显而易见的选择

从的源代码判断,我会打赌一个名为
date\u default\u timezone\u name的变量

我找到了解决方案:

仅当在管理面板中禁用自定义用户时区时,才设置日期\默认\时区!确保选中该选项。

我找到了解决方案:

仅当在管理面板中禁用自定义用户时区时,才设置日期\默认\时区!确保您勾选了该选项