DGKumar Ответов: 2

Как отобразить форматированное значение "2018-04-05T19:30:24+08:00" на основе часового пояса в C#?


How to display "2018-04-05T19:30:24+08:00" formatted value based on time zone in c#?


как в Индии :
2018-04-06T19:05:17+05:30


но я получаю
2018-04-09T05:52:48-04:00
когда я разверну свой код на сервере США.

Не могли бы вы мне помочь, как отобразить базовое значение, которое хранится в API db на основе часового пояса?

Что я уже пробовал:

Я попробовал использовать приведенный ниже код
это свойство json onject, которое автоматически изменяется "
item.logTime.Parent.ToString()
"
var jsonformatLogTime = item.logTime.Parent.ToString();
               string logTime = jsonformatLogTime.Replace("{", "").Replace("}", "").Replace("\"", "");
               logTime = logTime.Substring(9);
               auditEventDetails.LogTime = logTime;

Richard MacCutchan

Откуда берется значение времени и как вы его отображаете?

Maciej Los

Пожалуйста, не делайте репостов!
Более 260 вопросов... Ух ты!

2 Ответов

Рейтинг:
17

Jochen Arndt

Чтобы избежать проблем с часовыми поясами храните и обрабатывайте время всегда в формате UTC.

Если вам нужно создать определенные пользователем строки локального времени на сервере, вы должны добавить информацию о часовом поясе пользователя в базу данных и использовать ее для создания строки с именем пользователя. TimeZoneInfo.Метод ConvertTimeFromUtc (DateTime, TimeZoneInfo) (Система)[^] например.


Maciej Los

5ed!

Рейтинг:
0

Maciej Los

На ваш вопрос уже ответили здесь: Как отобразить datetime в строке в C#?[^]