2010-04-21 117 views
0

需要将字符串转换为正常的日期时间格式,以便它可以正确插入到日期时间类型字段中。将字符串转换为日期时间格式

字符串格式:

4/21/2010下午4时43分03秒

实施例:

2010-04-21 16:43:03.000

我已澄清问题:

需要更改格式而不是键入。

+0

在.net中,您会使用Parse方法将字符串转换为DateTime。其中一些问题可能会有所帮助。 http://stackoverflow.com/search?q=datetime+parse – Greg 2010-04-21 20:52:49

回答

2

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

假设你原始的字符串是在你的跑步文化解析的,并且希望其重新格式化为在你的问题其他字符串,你可以这样做:

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

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

重新读取问题,并使用parse将返回一个可重用的DateTime对象。

1

假设你知道输入数据的精确格式,使用DateTime.ParseExact字符串转换为DateTime(或使用DateTimeOffset) - 但后来请勿将重新格式化为字符串。

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

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") 
相关问题