Я хочу создать формат даты США для индийского формата даты, используя Asp MVC Core 2.0 - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь создать формат даты: формат даты от США до Индии, например (dd/mm/yyyy hh:mm tt).

Когда я запускаю код на локальном компьютере, он работает.

Когда мы публикуем sh и получить значения с сервера, в это время он показывает формат даты "США" (mm/dd/yyyy)

Как выполнить внутреннее преобразование в Appsettings. json какие строки мне нужно упомянуть.

 public static DateTime ConvertIndianDateFormat(DateTime usTime)
 {
        DateTime dateTime = DateTime.Now;
        TimeZoneInfo usEasternZone = TimeZoneInfo.FindSystemTimeZoneById("US Eastern Standard Time"); 
        TimeZoneInfo indianZone = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); 
        DateTime usEasternTime = TimeZoneInfo.ConvertTimeFromUtc(usTime, usEasternZone);
        DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(usTime, indianZone);

        return indianTime;
 }

1 Ответ

0 голосов
/ 09 января 2020

Это потому, что вы, вероятно, используете что-то вроде DateTime.Now для C#, и если у вас есть SQL Сервер, вы используете GETDATE(). Это не проблема с приложением. json или что-то в этом роде. Вышеуказанные функции возвращают дату и время машины, поэтому локально на вашем p c время является правильным и неправильным, если вы загружаете его на сервер.

Поэтому убедитесь, что время правильное. Если вы загружаете файлы на серверы в другой стране, вероятно, у вас будет другое время и / или формат.

Как вы будете действовать, зависит от ваших потребностей:

Правильно ли время?

Затем просто переформатируйте или сохраните его, используя

DateTime.Now.ToString("dd/mm/yyyy hh:mm tt") // this is not the correct format.

Хотите ли вы обслуживать несколько клиентов в нескольких регионах / странах?

Затем вы должны сохранить время как UT C и привести его в соответствии с форматом даты клиента. Например, сервер может быть в США, и кто-то из Великобритании будет видеть время, отличное от его собственного, что было бы странно.

DateTime.UtcNow

Обычно ваша проблема может быть большой или маленькой в ​​зависимости от ваших потребностей

...