2015-12-02 1 views
0

У меня есть переменнаяСохранить формат Дата «02 декабря 2015 7:25:11 PM» в DateTime переменной

private DateTime? createdDate = null; 

Это состоит из даты в формате 12/2/2015 7:14:37 PM. Мне нужно изменить формат даты на December 02, 2015 07:25:11 PM, а затем присвоить этот новый формат той же переменной createdDate. Я был в состоянии изменить его с помощью

DateTime date; 
if (DateTime.TryParse(createdDate, out date)) 
{ 
    string modifyDate = date.ToString("MMMM dd, yyyy hh:mm:ss tt", CultureInfo.CurrentCulture); 
} 

Но когда я попытался присвоить его обратно createdDate он не может сохранить, так как тип строки, и, чтобы избежать этого я попытался Convert.ToDateTime, но это берет его обратно в «12/2/2015 7:14:37 PM ". Кто-нибудь знает, как я могу сохранить «December 02, 2015 07:25:11 PM» в переменной createdDate. Благодарю.

+2

Даты не хранятся в определенном формате строки. – Amy

ответ

2

DateTime не есть формат - это всего лишь момент времени. Формат имеет значение, когда вы отображаете значение. Это, где вам нужно указать, какой формат вы хотите.

Это также означает, что вы можете просто использовать createdDate - нет необходимости создавать новую переменную date , представляющую ту же дату в другом формате.

+0

Другой модуль вызывает этот код и показывает, какое значение имеет значение createdDate. В моем случае это 12/2/2015 7:14:37 PM. Они хотят, чтобы я обновил формат до 02 декабря 2015 года 19:25:11 без изменения типа createdDate. Как это возможно? – Santosh

+1

Единственный формат, который имеет значение для 'DateTime', - это когда вы хотите вывести его или сохранить его как строковое значение. Если другой модуль отображает дату, то * другой модуль должен изменить * и указать желаемый формат. – crashmstr

+0

@Santosh _That_ модуль должен будет указать формат, когда он _shows_ дата. 'DateTime' не имеет свойства, которое указывает конкретный формат. «Они», по-видимому, не знают, как работает «DateTime». –

0

Как сказал Стэнли, его просто значение времени. как это значение должно отображаться, управляется форматированием, поэтому форматирование - это просто презентация.

Возможно, вы можете написать недвижимость, подобную этой, чтобы упростить вам жизнь.

Потребитель этого свойства получит впечатление, что они сохраняют отформатированную дату &, когда они их извлекают, они получат отформатированный результат.

private DateTime timePoint; 
    public string FormatedDateTime 
    { 
     get 
     { 
      return timePoint.ToString("MMMM dd, yyyy hh:mm:ss tt", CultureInfo.CurrentCulture); 
     } 
     set 
     { 
      timePoint = Convert.ToDateTime(value); 
     } 
    } 

Напиши мне комментарий в случае каких-либо вопросов

Смежные вопросы