日期时间格式如HH:mm 24小时没有AM / PM

我在这里搜索关于将类似“16:20”的字符串转换为DateTime类型而不会丢失格式,我说我不想添加dd / MM / yyy或秒或AM / PM,因为db只接受这种格式。

我还试过Cultures

提前致谢

所有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 "这将给你年月和日 。 继续之后; string DateFormat = "yyyy MM d HH:mm:ss "在这里, Capital H将为您提供24 hours time format而lowerCase "h" will give you the 12 hours time格式…

当您将Dateformat作为字符串给出时,您可以使用日期和时间做任何您想做的事情。

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

要么

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

OUTPUT:

 20120823132544 

DateTime.Now.ToString(“hh:mm”) – 如果它是C#。

哦。 只读标题。

 DateTime dt = new DateTime(2008, 12, 11, Convert.ToInt32("16"), Convert.ToInt32("32"), 0); 

你是什​​么意思“失去格式”。

如果将其转换为DateTime类型,则DateTime对象将具有dd / mm / yy和其他属性。 根据您打算如何使用该对象,您可以通过格式化字符串输出来“恢复”原始设置,如下所示:DT.ToString(“HH:mm”);

由于您没有规定您使用的是哪个DBMS,因此很难知道哪个答案对您有帮助。 如果您使用IBM Informix Dynamic Server,则只需使用数据类型“DATETIME HOUR TO MINUTE”,它将记录24小时制的值。

 DateTime.Parse("16:20") 

我想解决你问题的这一部分:

不会丢失格式

数据库通常将所有日期时间值存储为标准的通用格式,甚至不是人类可读的。 如果使用datetime列,则会销毁原始格式。

但是,当您检索该值时,会将其转换回您想要的任何格式。 如果你想要HH:mm你可以得到它。