如何在php中动态输出每个时区的当前时间?
我在每个节点中存储了一个时区,并希望根据时区设置显示每个节点的当前时间 例如。有一个节点America/SaoèPaulo-存储的时区将是“America/SaoèPaulo” 为了以tz格式显示时区,我必须使用以下代码打印它(Drupal 7): 如何在php代码中以友好的方式更改该部分?我试过这样做:如何在php中动态输出每个时区的当前时间?,php,drupal,Php,Drupal,我在每个节点中存储了一个时区,并希望根据时区设置显示每个节点的当前时间 例如。有一个节点America/SaoèPaulo-存储的时区将是“America/SaoèPaulo” 为了以tz格式显示时区,我必须使用以下代码打印它(Drupal 7): 如何在php代码中以友好的方式更改该部分?我试过这样做: <?php $zone='<?php print $node->field_mytimezone['und'][0]['value']; ?>'; ?> <
<?php $zone='<?php print $node->field_mytimezone['und'][0]['value']; ?>'; ?>
<?php date_default_timezone_set('$zone');
echo date('H:i');
?>
嵌套显然不起作用,但我不知道如何在保留第一部分(以tz格式输出时区的部分)的同时正确地实现它。我不太清楚您想要什么,但是如果时区字符串存储在
$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');
你说得对,这有点让人困惑。最终结果应该是09:10左右。根据时区设置的不同,每个节点的时间会有所不同。
<?php $zone='<?php print $node->field_mytimezone['und'][0]['value']; ?>'; ?>
<?php date_default_timezone_set('$zone');
echo date('H:i');
?>
$zone = $node->field_mytimezone['und'][0]['value'];
$dt = new DateTime();
$dt->setTimezone(new DateTimeZone($zone));
echo $dt->format('H:i');