Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Как получить местное время из серверного?

#c_sharp


На локальной машине функция DateTime.Now.ToString() дает результат 


  27.06.2016 15:27:55


, а при развертывании на сервер 


  6/28/2016 1:14:55 AM


Как привести второй вариант в первому? Желательно без разбора строк.
    


Ответы

Ответ 1



DateTime.Now.ToString(CultureInfo.GetCultureInfo("ru-ru")) Класс CultureInfo находится в пространстве имен System.Globalization. Если получение строкового представления даты вызывается многократно в разных местах, и каждый раз явно указывать язык неудобно, то можно установить локаль в рамках всего треда: Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru-ru"); Если сервер находится в другом часовом поясе, а дату нужно получить, например, по московскому времени, то воспользуйтесь классом TimeZoneInfo: static string GetCurrentDateTime() { var tz = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time"); return TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz) .ToString(CultureInfo.GetCultureInfo("ru-ru")); } Список идентификаторов часовых поясов можно получить, вызвав TimeZoneInfo.GetSystemTimeZones().

Комментариев нет:

Отправить комментарий