Форма Xamarin: как перейти с текущего времени устройства на другое время страны
Я не слишком знаком с датой времени. В настоящее время мне интересно, как я могу преобразовать существующее время устройства в дату / время разных стран.
Например, App.CurrentDate <- отображает дату и время настройки устройства. Я хочу, чтобы это было во время другой страны при выборе другого сайта, где сайт может быть любой страны
Можно ли этого добиться?
1 ответ
Android и iOS используют имена часовых поясов IANA. Они выглядят так: "Америка / Нью-Йорк", и вы можете найти их список в Списке часовых поясов базы данных tz.
TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("America/New_York");
DateTime estTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, estZone);
Ссылки:
Получите текущую дату и время в формате UTC
var utcTime = DateTime.UtcNow;
Затем конвертируйте его в любой часовой пояс, который вам нужен
TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DateTime zoneTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, zone);
Вот как можно получить список всех часовых поясов
Также возможно определить часовой пояс на основе координат - этот ответ показывает, как