Как отобразить формат даты и времени в соответствии с конкретным часовым поясом (ДД-ММ-ГГ) / (ММ-ДД-ГГ) в C # - PullRequest
0 голосов
/ 03 мая 2018

Как отобразить формат даты и времени в соответствии с конкретным часовым поясом.

24-02-2018 07: 30: 00

Означает, что одна дата в часовом поясе читается как ДД-ММ-ГГ, а в другом - как ММ-ДД-ГГ, как показывать дату в соответствии с часовым поясом

У меня есть только название часового пояса, я хотел отправить электронное письмо с некоторыми деталями. В этом письме одно поле имеет значение «Время последнего обновления». Поэтому, в зависимости от часового пояса, я хочу установить это поле в определенном формате, поэтому Короче говоря, мне нужен способ получить код культуры из TimeZone. Возможно ли это?

Ответы [ 3 ]

0 голосов
/ 03 мая 2018

Всегда сохраняйте время в одном часовом поясе, возможно UTC в вашей базе данных. Каждый раз, когда из вашего метода возвращается время, преобразуйте в культуру пользовательского интерфейса клиента и покажите то же самое.

TimeZoneInfo targetTimeZone = TimeZoneInfo.FindSystemTimeZoneById("TimeZoneName");
DateTime utcTime = DateTime.Now();// your datetime object
TimeZoneInfo.ConvertTimeFromUtc(utc, targetTimeZone);
0 голосов
/ 03 мая 2018

Попробуйте это

string datetime = "24-02-2018 07:30:00";
DateTime databaseUtcTime = DateTime.ParseExact(datetime,"dd-MM-yyyy HH:mm:ss",null);
Console.WriteLine("System Date : {0}", databaseUtcTime);
var japaneseTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
var japaneseTime = TimeZoneInfo.ConvertTimeFromUtc(databaseUtcTime, japaneseTimeZone);
Console.WriteLine("Japan Date : {0}", japaneseTime);

CSharp Форматы DateTime

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

0 голосов
/ 03 мая 2018

Вам нужно установить culture в web.config для установки определенного формата даты.

<globalization uiCulture="es" culture="es-MX" />

Вы можете найти все коды культуры здесь

И если вам это нужно для определенных условий, вы можете сделать это,

var usCulture = "en-US";
var dateValue = DateTime.Parse(dateString, new CultureInfo(usCulture, false));
...