DateTime.Now.ToString ("гггг-ММ-дд чч: мм: сс") возвращает время AM вместо времени PM? - PullRequest
68 голосов
/ 15 ноября 2011

Я пытаюсь получить текущее время с помощью DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")

Однако, это выплевывает время на 12 часов из того, что мы хотим.

Например:

Что это выплевывает: 11/14/2011 2:24:56 am

Что мы хотим: 11/14/2011 2:24:56 pm

Какую ошибку мы совершаем, нуб?

Любая помощь очень ценится :)

Ответы [ 2 ]

161 голосов
/ 15 ноября 2011

Используйте HH для формата 24 часа:

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")

Или спецификатор формата tt для детали AM/PM:

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt")

Посмотрите на пользовательские строки формата даты и времени документация.

4 голосов
/ 12 июня 2018

С C # 6.0 у вас также есть новый способ форматирования даты при использовании строковой интерполяции, например,

$"{DateTime.Now:yyyy-MM-dd HH:mm:ss}"

Не могу сказать, что он лучше, но он немного чище, если включить форматированный DateTime в более длинную строку.

Подробнее об интерполяции строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...