如何从字符串'01 / 25/1955'获取日期时间?

时间:2012-04-17 17:21:04

标签: asp.net datetime type-conversion

我有以下代码:

Dim dtDoM As Nullable(Of DateTime)
If (txtMarriageDate.Text.Trim = "") Then
            dtDoM = Nothing
        Else

            dtDoM = DateTime.ParseExact(txtMarriageDate.Text.Trim + " 00:00:00", "dd/MM/yyyy hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture)
            'dtDoM = Convert.ToDateTime(txtMarriageDate.Text)
        End If

在注释掉的部分,我得到了FormatException'字符串未被识别为datetime',而新代码我得到了“System.FormatException = {”日历System.Globalization中不支持字符串表示的DateTime。 GregorianCalendar的。 “}”

编辑:回答。不敢相信我忽略了这一点。

3 个答案:

答案 0 :(得分:1)

您的日期(01/25/1955)格式为MM/dd/yyyy,您在格式字符串中使用dd/MM/yyyy

尝试使用此:"MM/dd/yyyy hh:mm:ss"

答案 1 :(得分:1)

我认为你的格式字符串错误。您希望"MM/dd/yyyy hh:mm:ss",根据您的示例判断。

答案 2 :(得分:1)

你的日子和月份都逆转了。这将有效:

dtDoM = DateTime.ParseExact(txtMarriageDate.Text.Trim + " 00:00:00", "MM/dd/yyyy hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture)