Как получить часовой пояс из свойств в CultureInfo
У меня есть строка, содержащая временную метку (yyyy-mm-dd hh:mm:ss
). Я могу создать объект CultureInfo
на основе другой информации, которую я получаю. Поэтому я знаю, в какой стране находится временная метка. Временная метка отсутствует в UTC/GMT.
Скажем, временная метка из Индонезии (new CultureInfo("id-ID")
), что означает, что строка была создана с помощью кода ниже или аналогичного.
DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
То есть, строка содержит местное время в Индонезии. Я знаю свой часовой пояс, но я не знаю, как конвертировать индонезийское время в UTC/GMT, поэтому я могу использовать объект UTC/GMT в TimeZoneInfo
. Мой собственный часовой пояс может быть или не быть в одном и том же часовом поясе.
Где-нибудь, эта информация связана?
CultureInfo
имеет много свойств, наверняка некоторые из них могут быть использованы для получения часового пояса, где-то?
Я мог бы добавить, что я считаю всю систему очень запутанной, поэтому я могу быть в стороне от того, как я думаю, что все работает.
Ответы
Ответ 1
Короткий ответ: Нет
Длинный ответ: это соотношение между культурами и часовым поясом от 1 до многих. Например:
en-US - English, American содержит 6 часовых поясов... так как бы вы получили от en-US до восточного дневного света?... и как вы получаете смещения на летнее время?
Это запутанная культурная головоломка (ничего себе, попробуйте сказать, что 5 раз быстрее), что нелегко разрешимо с помощью CLR.
Ответ 2
Класс DateTimeOffset - это ключ