VB.net日期格式Gridview dd / mm / yyyy

时间:2011-05-01 22:14:21

标签: asp.net vb.net datetime date format

您好 我正在尝试更新ms访问数据库。我有一个使用日期的gridview:

Dim tBox As TextBox = CType(gridStaff.Rows(e.RowIndex).FindControl("sDate"), TextBox)

然后,我想从该文本框中获取值并将其分配给日期变量。

Dim test As Date = CDate(tBox.Text)

我遇到的问题是,现在当我将测试变量放入我的sql更新查询时,它以这种格式存储日期。 mm / dd / yyyy而不是我想要的dd / mm / yyyy格式。

我尝试了不同的格式化方法,我在线阅读但尚未成功。任何建议都会很棒!

由于

2 个答案:

答案 0 :(得分:0)

您的问题是从tBox.Text到Date的转换,还是在sql更新查询级别? - 你应该给sql语句一个带有严格类型的参数。从tBox.Text转换为测试应该以文化感知的方式完成:

'要转换的字符串和目标日期:   Dim dateString As String =“02/15/2011”   D d d As Date

'转换字符串时指定英文/美国文化:   Dim cul As Globalization.CultureInfo = Globalization.CultureInfo.GetCultureInfo(“en-US”)   d = Date.Parse(dateString,cul)

您还可以依赖默认文化,只需让Date.Parse完成工作而不指定文化。

答案 1 :(得分:0)

尝试使用

Dim test As Date =  DateTime.ParseExact(tBox.Text, "d/M/yyyy", CultureInfo.InvariantCulture)

或者如果您的系统设置正确且CultureInfo.CurrentCulture具有正确的日期格式,

Dim test As Date =  DateTime.Parse(tBox.Text, CultureInfo.CurrentCulture )

而不是CDate()