0 / 0 / 0
Регистрация: 30.01.2019
Сообщений: 9
1

Локальное время в выбранном городе

22.07.2020, 13:25. Показов 1047. Ответов 1

На входе у меня есть время в UTC. нужно возвращать локальное время в городе который выбрал пользователь. с учетом часовых поясов, летнего времени и т.п. ...
Подскажите реализацию. Может есть библиотечка, которая делает все это из коробки?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2020, 13:25
Ответы с готовыми решениями:

Приложение, предоставляющее сведения о погоде в выбранном городе на завтра
Всем добрый вечер! Я начинающий программист на С#. Помогите с решением задания. Приложение,...

Как сделать чтобы при выборе ГОРОДА в ПолеСоСписком4 были только те организации которые находятся в выбранном ГОРОДЕ?
Помогите пожалуйста Есть таблица ПОСТАВЩИКИ с полями ГОРОД и ОРГАНИЗАЦИЯ она присоединена к...

Локальное время
Я уже и поиск юзал и гугл, не могу понять как получить локальное время с компа, и записать в опред....

Определить время в городе
Вообщем,парни,такая тема,нужно определить время в городе,который запрашивает...

1
Эксперт .NET
15462 / 11722 / 3079
Регистрация: 17.09.2011
Сообщений: 19,610
22.07.2020, 16:13 2
Лучший ответ Сообщение было отмечено Goliath2019 как решение

Решение

Цитата Сообщение от Goliath2019 Посмотреть сообщение
Может есть библиотечка, которая делает все это из коробки?
Перво-наперво вам нужно найти координаты выбранного пользователем города.
Можете держать собственную базу или использовать различные API-сервисы: гугл или яндекс, например.
Получив координаты, используйте класс TimeZoneLookup из пакета GeoTimeZone для получения часового пояса в текущих координатах.
Получив часовой пояс, используйте пакет NodaTime для конвертирования текущего времени UTC в локальное.

Пример вышеперечисленного (нахождение координат — за вами):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
DateTimeOffset GetLocalTime(double latitude, double longitude)
{
    var timeZone = GeoTimeZone.TimeZoneLookup.GetTimeZone(latitude, longitude);
    var timeZoneProvider = NodaTime.DateTimeZoneProviders.Tzdb;
    var instant = NodaTime.Instant.FromDateTimeUtc(DateTime.UtcNow);
 
    var localTime = instant.InZone(timeZoneProvider[timeZone.Result]);
 
    return localTime.ToDateTimeOffset();
}
 
var vladivostokLocalTime = GetLocalTime(43.1150678, 131.8855768);
Console.WriteLine($"Во Владивостоке сейчас {vladivostokLocalTime:HH:mm:ss}");
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2020, 16:13

Как преобразовать локальное время в UTC?
Как преобразовать локальное время в UTC? Если использую такой вариант, то выдаёт неожиданный...

Написать программу, позволяющую считывать и изменять локальное время
Написать программу,позволяющую считывать и изменять локальное время. Текущее время выводить по...

Как установить локальное время для поля timestamp
mysql_query("SET time_zone = '+03:00'"); для поле с time работает отлично, для поля timestamp при...

Составить программу, имитирующую блуждающие звезды (звезды появляются на некоторое время случайным образом в выбранном месте экрана и исчезают).
Составить программу, имитирующую блуждающие звезды (звезды появляются на некоторое время ...

При выборе в ячейке города из выпадающего списка, в соседней ячейке отображать текущее время в этом городе
Добрый всем день. Помогите пжл решить такую задачку: Есть список городов, в т.ч. зарубеж. ...

На междугородной АТС информация содержит дату разговора, код и название города, время разговора, тариф, номер телефона в этом городе и номер телефона
Помогите пожалуйста доделать задачу. При такой постановке вопроса помощи не дождешься.unit Unit3;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.