将String转换为datetime格式

时间:2010-04-21 20:48:58

标签: .net vb.net datetime

需要将字符串转换为普通的日期时间格式,以便将其正确插入日期时间类型字段。

字符串格式:

4/21/2010 4:43:03 PM

示例:

2010-04-21 16:43:03.000

我已经澄清了问题:

需要改变格式而不是打字。

4 个答案:

答案 0 :(得分:2)

“正常日期时间”有点模糊。普通格式与您运行的文化有关。

假设您的原始字符串在您正在运行的文化中是可解析的,并且您希望将其重新格式化为您问题中的其他字符串,则可以执行以下操作:

DateTime.Parse("4/21/2010 4:43:03 PM").ToString("yyyy-MM-dd HH:mm:ss.ttt")

[编辑 - 忘记.ToString()部分]

重新阅读问题,使用parse会返回一个可以重复使用的DateTime对象。

答案 1 :(得分:1)

假设您知道输入数据的确切格式,请使用DateTime.ParseExact将字符串转换为DateTime(或使用DateTimeOffset) - 但不要< / em>将其重新格式化为字符串。

使用参数化查询将其插入数据库,而不是将其作为字符串直接放在SQL中。使用字符串来表示数据库驱动程序直接支持的值会使您的代码无缘无故。

答案 2 :(得分:0)

如果格式始终相同,则可以使用Date.ParseExact(...)

答案 3 :(得分:0)

你可以这样做:

CDate("4/21/2010 4:43:03 PM")

CType("4/21/2010 4:43:03 PM", DateTime)

DateTime.Parse("4/21/2010 4:43:03 PM")