如何将en-gb转换为en-us(将表达式转换为数据类型datetime的算术溢出错误)

时间:2010-10-18 10:09:51

标签: asp.net datetime localization culture

将表达式转换为数据类型datetime的算术溢出错误。声明已经终止。

我网站的文化是en-gb(18/10/2010)

我的数据库服务器的文化是en-us(10/18/2010)

日期存储在参数中;

command.Parameters.AddWithValue("@bookingdate", inputBookingDate.Text)

有没有办法在进入db之前将其转换为美国日期格式?

我试过这段代码;

    Dim dbDate As String = command.Parameters("@bookingdate").Value.ToString
    dbdate = DateTime.Parse(dbdate, New CultureInfo("en-US"))
    command.Parameters("@bookingdate").Value = dbdate

但是得到错误'字符串未被识别为有效的DateTime。'

dbDate = "29/10/2010 00:00:00" 

如何指定当前的文化?将dbDate标识为GB格式的有效日期时间。

感谢。

1 个答案:

答案 0 :(得分:1)

试试DateTime.Parse。以GB格式读取日期,以美国格式写出。也是检查UI代码以确保在任何地方使用GB格式的好时机。或者更改数据库期望的格式。

如果您的数据库支持,您可以将日期写为时间戳,以尝试最小化您使用美国日期格式的次数。