【发布时间】:2014-08-27 17:15:25
【问题描述】:
我正在尝试转换格式为 4/3/1950 12:00:00 AM 的日期
我正在从 sql 数据阅读器中获取日期的值
string dob =Convert.ToString(MbrNameReader[2]);
dob 字符串的输出是 4/3/1950 12:00:00 AM
现在我想将其转换为 04/03/1950 12:00:00 AM
我搜索了谷歌以获取帮助并尝试以这种方式进行操作,但会引发错误 ParseExact has some invalid arguments
DateTime dob =Convert.ToDateTime(MbrNameReader[2]);
var date = DateTime.ParseExact(dob, "MM/d/yyyy hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None);
后来改成:
string dob =Convert.ToString(MbrNameReader[2]);
var date = DateTime.ParseExact(dob, "MM/d/yyyy hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None);
给出以下错误:
Exception thrown executing coded step: '[VerifyAlerts_CodedStep4] : Verify the content of 'divs' with database contents'.
InnerException:
System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style)
at System.DateTime.ParseExact(String s, String format, IFormatProvider provider, DateTimeStyles style)
at Communicator.VerifyAlertContentsfirstFive.VerifyAlerts_CodedStep4() in c:\tfs\HASINC\Development\QAAutomation\Communicator\Alerts\VerifyAlertContents_firstFive.tstest.cs:line 190
谁能告诉我我在这里做错了什么?
【问题讨论】:
-
SQL数据库中列的数据类型是什么,如果是
DateTime,那么只要取回DateTime类型的对象,然后格式化即可。演示格式与DateTime中如何存储日期无关,仅用于显示/演示目的。 -
你熟悉.ToString("Format given here")
-
是 MbrNameReader[2] 是 DateTime 类型