ObjectDataSource无法将字符串解析为DateTime

时间:2012-07-02 12:52:25

标签: c# asp.net .net objectdatasource datetime-format

我有一个带有值的文本框,用于存储ValidFrom表单值:

31.01.2012

和文化设置为:

<globalization culture="en-GB" uiCulture="en-GB"/>
web.config中的

现在,ObjectDataSource更新方法:

    public static void UpdateLac(int id, DateTime ValidFrom)
    {
        /// ...
    }

失败,因为我得到异常,无法解析字符串。但格式 dd.mm.yyyy 31.01.2012 )的日期是有效的en-GB格式,可以解析(据我所知)。我用以下代码测试了它:

            DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture("en-GB").DateTimeFormat;
            var date = DateTime.Parse("31.01.2012", dtfi);
            Console.Write(date.ToLongDateString());

那么为什么ObjectDataSource内部转换无法在此示例中将字符串(31.01.2012)转换为 DateTime

1 个答案:

答案 0 :(得分:0)

据我所知,文化信息是直接从操作系统加载的(在本例中为windows),您可以查看区域设置以了解指定的格式。这是我个人电脑的截图:

http://imageshack.us/photo/my-images/96/engbg.png/

正如您所看到的短日期格式为:dd / MM / aa,因此您的服务器区域设置可能会发生变化,或输入应为:31 / 01 / 12而不是31.01.2012

希望这有帮助。