Формат DateTime как HH:mm 24 часа без AM / PM

Я искал здесь о преобразовании строки типа "16: 20" В Тип DateTime без потери формата, я сказал, что не хочу добавлять dd/MM/yyy или секунды или AM/PM, потому что db просто принимает этот формат.

Я пробовал с культурами еще

спасибо заранее

7 ответов


все объекты DateTime должны иметь дату и время.

Если вы хотите только время, используйте TimeSpan:

TimeSpan span = TimeSpan.Parse("16:20");

Если вы хотите DateTime, добавьте это время к минимальному значению:

TimeSpan span = TimeSpan.Parse("16.20");
DateTime dt = DateTime.MinValue.Add(span);
// will get you 1/1/1900 4:20 PM which can be formatted with .ToString("HH:mm") for 24 hour formatting

просто дайте формат даты для вашего dateTime.

string DateFormat = "yyyy MM d " это willl давать вам год месяц и день. после продолжения; string DateFormat = "yyyy MM d HH:mm:ss " здесь Капитал H даст вам 24 hours time format и строчные ...

когда вы даете Dateformat в виде строки, вы можете делать все, что хотите, с датой и временем.

string DateFormat = "yyyyMMdHHmmss";
string date = DateTime.Now.ToStrign(DateFormat);

или

Console.writeline(DateTime.Now.ToStrign(DateFormat));

выход:

20120823132544

DateTime.Сейчас.ToString ("hh:mm") - если это C#.


Что вы подразумеваете под"потерей формата".

если преобразовать его в тип DateTime, то объект DateTime будет иметь dd/mm / yy и другие свойства. в зависимости от того, как вы планируете использовать объект, вы можете "восстановить" исходные настройки, форматируя вывод строки следующим образом: DT.ToString ("HH:mm");


поскольку вы не указываете, какие СУБД вы используете, трудно знать, какой ответ поможет вам. Если вы используете IBM Informix Dynamic Server, вы просто используете тип данных "DATETIME HOUR TO MINUTE", который будет записывать значения в 24-часовых часах.


DateTime.Parse("16:20")

Я хочу обратиться к этой части вашего вопроса:

без потерь в формате

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

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