我在这里搜索有关将“16:20”之类的字符串转换为 DateTime 类型而不丢失格式的信息,我说我不想添加 dd/MM/yyy 或秒或 AM/PM,因为 db 只接受这种格式。
我尝试过文化
提前致谢
我在这里搜索有关将“16:20”之类的字符串转换为 DateTime 类型而不丢失格式的信息,我说我不想添加 dd/MM/yyy 或秒或 AM/PM,因为 db 只接受这种格式。
我尝试过文化
提前致谢
只需为您的 dateTime 提供日期格式。
string DateFormat = "yyyy MM d "
这将为您提供年份月份和日期。继续后;
string DateFormat = "yyyy MM d HH:mm:ss "
在这里,大写 H将为您提供24 hours time format
小写"h" will give you the 12 hours time
格式...
当您将 Dateformat 作为字符串提供时,您可以对日期和时间做任何您想做的事情。
string DateFormat = "yyyyMMdHHmmss";
string date = DateTime.Now.ToStrign(DateFormat);
或者
Console.writeline(DateTime.Now.ToStrign(DateFormat));
输出:
20120823132544
所有 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.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")
我想解决你问题的这一部分:
不丢失格式
数据库通常会以标准的通用格式存储所有日期时间值,这种格式甚至不是人类可读的。如果您使用日期时间列,则原始格式将被破坏。
但是,当您检索该值时,您会将其转换回您想要的任何格式。如果你愿意HH:mm
,你可以得到它。