Формат даты и времени, например, ЧЧ: мм 24 часа без AM / PM - PullRequest
10 голосов
/ 12 декабря 2008

Я искал здесь о преобразовании строки типа «16:20» в тип DateTime без потери формата, я сказал, что не хочу добавлять дд / мм / ггг или секунды или AM / PM, потому что дб просто принимает формат.

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

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

Ответы [ 7 ]

17 голосов
/ 23 августа 2012

Просто укажите формат даты для вашего dateTime.

string DateFormat = "yyyy MM d " это даст вам год, месяц и день . после продолжения; string DateFormat = "yyyy MM d HH:mm:ss " здесь Capital H даст вам формат 24 hours time format и lowerCase "h" will give you the 12 hours time ...

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

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

OR

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

ВЫВОД:

20120823132544
13 голосов
/ 12 декабря 2008

Все объекты 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
3 голосов
/ 12 декабря 2008

DateTime.Now.ToString ("чч: мм") - если это C #.

О. Читайте только заголовок.

DateTime dt = new DateTime(2008, 12, 11, Convert.ToInt32("16"), Convert.ToInt32("32"), 0);
1 голос
/ 12 декабря 2008
DateTime.Parse("16:20")
1 голос
/ 12 декабря 2008

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

1 голос
/ 12 декабря 2008

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

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

0 голосов
/ 12 декабря 2008

Я хочу ответить на эту часть вашего вопроса:

без потери формата

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

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

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