我在每个节点中存储了一个时区,并希望根据时区设置显示每个节点的当前时间。
例如,有一个节点--美国/圣保罗--存储的时区是“America/圣保罗”。
为了以tz格式显示时区,我必须用以下代码打印时区(Drupal 7):
<?php print $node->field_mytimezone['und'][0]['value']; ?>其结果将是:
America/Sao_Paulo如何在php代码中直接更改该部分?我试过这样做:
<?php $zone='<?php print $node->field_mytimezone['und'][0]['value']; ?>'; ?>
<?php date_default_timezone_set('$zone');
echo date('H:i');
?>嵌套显然不起作用,但我不知道如何在保留第一部分(以tz格式输出时区的部分)的同时正确地实现它。
发布于 2014-08-01 18:11:59
我不太清楚您想要的是什么,但是如果时区字符串存储在$node->field_mytimezone['und'][0]['value']中,下面的代码应该会让您了解如何使用它:
$zone = $node->field_mytimezone['und'][0]['value'];
$dt = new DateTime();
$dt->setTimezone(new DateTimeZone($zone));
echo $dt->format('H:i');https://stackoverflow.com/questions/25086049
复制相似问题