Формат даты и времени - PullRequest
0 голосов
/ 02 июля 2010

Привет, я извлекаю дату и время создания файла. дата должна быть 01.07.2010 14:08, но формат выходит как 2:08:07 01.07.2010 при вызове из моего приложения. Я бы хотел, чтобы он показывался так же, как в проводнике (01.07.2010 14:08). Как мне это сделать?

    string createdOnCMM = Creationtime; //this returns the 2:08:07 01/07/2010 


// I think I need a modified verison of the following to reformat it

    DateTime dt = Convert.ToDateTime(createdOnCMM);
    String.Format("0:{dd/MM/yyyy HH:mm:ss}", dt);

Ответы [ 3 ]

4 голосов
/ 02 июля 2010

Ваша составная строка формата не совсем правильная. Попробуйте это:

string s = string.Format("{0:dd/MM/yyyy HH:mm:ss}", dt);

Или, если вы только хотите отформатировать DateTime, вызовите ToString напрямую:

string s = dt.ToString("dd/MM/yyyy HH:mm:ss");

(Это более читабельный подход, ИМО.)

Обратите внимание, что это очень специфично для культуры в данный момент. Что может быть в порядке для вашего предполагаемого использования, но вы должны знать об этом.

3 голосов
/ 02 июля 2010

Из Стандартных строк формата даты и времени Microsoft , вы можете получить желаемое, используя строку формата g, например:

String.Format("{0:g}", dateTimeValue);

Это должно привести к желаемому формату.

2 голосов
/ 02 июля 2010

Если вам просто нужно отформатировать с использованием строки короткой даты вашей текущей культуры, тогда используйте спецификатор g, как указано в Эриковский ответ .

Если вам нужен точный формат, который вы упомянули, независимо от вашей текущей культуры, то одно из следующих действий должно сработать:

string formatted = dt.ToString("M'/'d'/'yyyy h':'mm tt");

// or

string formatted = string.Format("{0:M'/'d'/'yyyy h':'mm tt}", dt);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...