Как получить часовой пояс из свойств в 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 - это ключ