Database 使用vb.net将US转换为GB日期时间并返回数据
这就是我所拥有的:Database 使用vb.net将US转换为GB日期时间并返回数据,database,vb.net,visual-studio-2010,date,Database,Vb.net,Visual Studio 2010,Date,这就是我所拥有的: Dim UsDateFormat As Date = DateTime.Parse(DataDate, New System.Globalization.CultureInfo("en-US")) Da = New OleDbDataAdapter("SELECT * FROM RawStockData WHERE PointDateTime >=#" & UsDateFormat.ToShortDateString & "# AND PointDa
Dim UsDateFormat As Date = DateTime.Parse(DataDate, New System.Globalization.CultureInfo("en-US"))
Da = New OleDbDataAdapter("SELECT * FROM RawStockData WHERE PointDateTime >=#" & UsDateFormat.ToShortDateString & "# AND PointDateTime < #" & UsDateFormat.AddDays(1).ToShortDateString & "#", Con)
当选择9月的任何日期时,它将显示30日的数据,这是唯一一个有数据的日期,当选择30日时,它将用字符串回复未识别为有效日期时间
我哪里出了问题?也许您的问题可以通过使用解决 在尝试ParseExact之后,请使用以避免每个带有日期和日期时间的SQL错误 示例代码:
Dim strYourData As String = "2013/10/02"
Dim dtYourData As DateTime = DateTime.ParseExact(strYourData, "yyyy/MM/dd", Nothing)
Dim cmdSelectRawStockData As System.Data.OleDb.OleDbCommand = yourOLEConnection.CreateCommand
cmdSelectRawStockData.CommandText = "SELECT * FROM RawStockData WHERE " _
& "PointDateTime >= @YourData1 AND " _
& "PointDateTime <= @YourData2"
cmdSelectRawStockData.Parameters.AddWithValue("@YourData1", SqlDbType.DateTime).Value = dtYourData
cmdSelectRawStockData.Parameters.AddWithValue("@YourData2", SqlDbType.DateTime).Value = DateAdd(DateInterval.Day, 1, dtYourData)
Da = New System.Data.OleDb.OleDbDataAdapter(cmdSelectRawStockData)
使用下面的代码,反之亦然
Dim dt As DateTime = DateTime.ParseExact(InputBookingdatesingleday.Text,
"dd/MM/yyyy",
CultureInfo.GetCultureInfo("en-GB"))
Dim dt As DateTime = DateTime.ParseExact(InputBookingdatesingleday.Text,
"dd/MM/yyyy",
CultureInfo.GetCultureInfo("en-US"))
在使用.ToSortDateString的地方,将其替换为.ToString MM dd 至少对于ms sql而言,这是一种安全的日期格式,可以在不考虑区域性的情况下使用,并且始终能够正确解释 编辑:
如果您真的想要最终使用的格式,只需使用.ToStringMM/dd/yy尽管它很混乱,但我使用了
Da = New OleDbDataAdapter("SELECT * FROM RawStockData WHERE PointDateTime >=#" & DataDate.Date.Month.ToString & "/" & DataDate.Date.Day.ToString & "/" & DataDate.Date.Year.ToString & "# AND PointDateTime <#" & DataDate.AddDays(1).Date.Month.ToString & "/" & DataDate.AddDays(1).Date.Day.ToString & "/" & DataDate.AddDays(1).Date.Year.ToString & "#", Con)
最后。InputBookingdatesingleday和CultureInfo没有声明,我发誓我在另一个stackoverflow问题中看到了这段代码?