【问题标题】:How to convert en-gb to en-us (Arithmetic overflow error converting expression to data type datetime)如何将 en-gb 转换为 en-us(将表达式转换为数据类型 datetime 的算术溢出错误)
【发布时间】:2010-10-18 10:09:51
【问题描述】:

将表达式转换为数据类型日期时间时出现算术溢出错误。声明已终止。

我网站的文化是英文 (18/10/2010)

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

日期存储在参数中;

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

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

我试过这段代码;

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

但是得到错误 'String was not known as a valid DateTime.'

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

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

谢谢。

【问题讨论】:

    标签: asp.net datetime localization culture


    【解决方案1】:

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

    如果您的数据库支持,您可以将日期写为时间戳,以尽量减少使用美国日期格式的次数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 2011-10-07
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多