Khan Sameer Ответов: 1

Используя тип данных datetime, как я могу получить формат даты в dd/MM/yyyy, но после публикации на сервере


Using DataType Datetime how can i get the date format in dd/MM/yyyy while running on the local server getting in dd/MM/yyyy for but after publish on the server getting in MM/dd/yyyy format 


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

Without using DateTime.Now.ToString(), instead any variable

1. Convert.ToDateTime(TodayDate_Greater, System.Globalization.CultureInfo.GetCultureInfo("hi-IN").DateTimeFormat);
2. DateTime.ParseExact(TodayDate, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);

1 Ответов

Рейтинг:
7

OriginalGriff

DateTime не "имеет" формат: он хранится внутри как число тиков с фиксированной точки времени - и он приобретает формат только тогда, когда он преобразуется в строку для представления.

Единственный способ указать, как будет отображаться значение DateTime, - это использовать ToString с определенным спецификатором формата:

string formatted = theDateAndTime.Tostring("dd/MM/yyyy");
Или использовать строку форматирования элемента управления GridView, установив DefaultCellStyle.Формат "ДД/ММ/гггг" (или аналогичный для других элементов управления).

Извините, но так уж все устроено!


Khan Sameer

На самом деле проблема заключается в том, что во время работы на локальном сервере я делаю расчет даты в формате dd/MM/yyyy, а после публикации на сервере я должен конвертировать в формат MM/dd/yyyy как таковой.

V.

Я думаю, что вы неправильно поняли ответ OriginalGriff.
Вы не делаете вычисления в том или ином формате.
У вас есть дата-время. Вы можете представить эту дату-время в любом формате, который вам нравится. Вы можете выполнять вычисления на этой дате-времени, а не на ее представлении. Затем вы можете отправить эту информацию (назовем ее datetime 2) на другой сервер и представить эту datetime 2 так, как вы хотите. Таким образом, datetime 1 и datetime 2-это оба типа datetime, которые могут быть представлены в любом формате, который вам нравится.

OriginalGriff

Значения DateTime не имеют формата: я уже говорил вам об этом.
Когда вы сохраняете Datetime, любой формат, который он "имел" до этого момента, отбрасывается - что очень хорошо, - и он снова получает "формат" только тогда, когда он преобразуется обратно в строку.

И это хорошо: в противном случае пользовательский ввод будет храниться в пользовательском формате, и вы не сможете сказать, какие данные это представляет: "11/12/13"
Это 11 декабря 2013 года? 12 ноября 2013 года? 13 декабря 2011 года? Зависит от того, кто первоначально ввел его: европеец, американец или японский пользователь - и вы не знаете, что после ввода данных!

Khan Sameer

Ок, понял тебя. Спасибо.....

OriginalGriff

Всегда пожалуйста!