目标时区列表/选项

时间:2018-10-21 18:18:52

标签: timezone

我正在使用的现有代码在最后提供了一个下拉列表 用户选择时区。

我的目标是将选择限制在 1.美国 和 一种。东方期权 值America / New_York b。选件中心 价值美国/芝加哥 C。 Option Mountain DST 价值美国/丹佛 d。 Option山无DST 价值美国/凤凰城 e。期权太平洋 值America / Los_Angeles

通过简单地注释掉代码,将其范围缩小到美国很容易。 最终将其缩小到5个时区超出了我的薪水等级。

有什么建议吗?

$regions = [
#   'Africa'     => DateTimeZone::AFRICA,
    'America'    => DateTimeZone::AMERICA,
#   'Antarctica' => DateTimeZone::ANTARCTICA,
#   'Aisa'       => DateTimeZone::ASIA,
#   'Atlantic'   => DateTimeZone::ATLANTIC,
#   'Europe'     => DateTimeZone::EUROPE,
#   'Indian'     => DateTimeZone::INDIAN,
#   'Pacific'    => DateTimeZone::PACIFIC
];

$timezones = [];
foreach ($regions as $name => $mask) {
    $zones = DateTimeZone::listIdentifiers($mask);
    foreach ($zones as $timezone) {
        $timezones[$name][$timezone] = $timezone;
    }
}

$actualTimezone = JFactory::getSession()->get('user-timezone', $displayData['dateHelper']->getDate()->getTimezone()->getName(), 'Calendar');
?>
<form action="<?php echo JUri::base(); ?>" method="get" class="dp-timezone dp-form">
    <span class="dp-timezone__label">
        <?php echo $displayData['translator']->translate('COM_CALENDAR_CHOOSE_TIMEZONE'); ?>:
    </span>
    <select name="tz" class="dp-select dp-timezone__select">
        <option value="UTC"<?php $actualTimezone == 'UTC' ? ' selected' : ''; ?>>
            <?php echo $displayData['translator']->translate('JLIB_FORM_VALUE_TIMEZONE_UTC'); ?>
        </option>
        <?php foreach ($timezones as $region => $list) { ?>
            <?php foreach ($list as $timezone => $name) { ?>
                <option value="<?php echo $timezone; ?>"<?php echo $actualTimezone == $timezone ? ' selected' : ''; ?>>
                    <?php echo $displayData['translator']->translate($name); ?>
                </option>
            <?php } ?>
        <?php } ?>
    </select>
    <input type="hidden" name="task" value="profile.tz" class="dp-input dp-input-hidden">
    <input type="hidden" name="option" value="com_calendar" class="dp-input dp-input-hidden">
    <input type="hidden" name="view" value="profile" class="dp-input dp-input-hidden">
    <input type="hidden" name="return" value="<?php echo base64_encode(JUri::getInstance()->toString()); ?>" class="dp-input dp-input-hidden">
</form>

0 个答案:

没有答案