Почему время прибывает как 0000, когда я использую сегодняшнюю дату в C # - PullRequest
3 голосов
/ 09 июня 2011

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

Например, 09 jun 2011 11AM должно быть 201109061100

Но когда я запускаю приведенный ниже код, время всегда 0000

Вывод:

ResultLog201109060000

Код:

DateTime currDate = DateTime.Today;
String resultlogFilename;
resultlogFilename = 
    "ResultLog" + 
    currDate.ToString("yyyy") + 
    currDate.ToString("dd") + 
    currDate.ToString("MM") + 
    currDate.ToString("HH") + 
    currDate.ToString("mm");

Любая идея, как получить правильное время

Ответы [ 4 ]

5 голосов
/ 09 июня 2011

DateTime.Today, кажется, возвращает часть Date, а не часть часа.

Просто используйте DateTime.Now , чтобы получить полное время.

http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx

Msdn DateTime.Today

Поскольку возвращает текущую дату без текущего времени, свойство Today подходит для использования в приложениях, которые работают только с датами.Для получения дополнительной информации см. Выбор между DateTime, DateTimeOffset и TimeZoneInfo.В отличие от этого, свойство TimeOfDay возвращает текущее время без текущей даты, а свойство Now возвращает как текущую дату, так и текущее время.

3 голосов
/ 09 июня 2011
var resultlogFilename = string.Format("ResultLog{0:yyyyddMMhhmm}", DateTime.Now);
2 голосов
/ 09 июня 2011

Используйте DateTime.Now вместо .Today. «Today» отфильтровывает часть «time», поэтому она эффективно возвращает полночь (0:00).

0 голосов
/ 09 июня 2011

Это потому, что сегодня возвращается только сегодняшняя дата, а не сегодняшнее время:)

...