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

时间:2008-12-11 21:19:51

标签: c# datetime formatting

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

我尝试过Cultures

先谢谢

7 个答案:

答案 0 :(得分:17)

只需为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);

OR

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

<强>输出:

20120823132544

答案 1 :(得分:13)

所有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

答案 2 :(得分:3)

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

喔。只读标题。

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

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

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

答案 5 :(得分:1)

DateTime.Parse("16:20")

答案 6 :(得分:0)

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

  

不会丢失格式

数据库通常会以标准的通用格式存储所有日期时间值,这些格式甚至不是人类可读的。如果使用日期时间列,则会破坏原始格式。

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