Vb.net 如何将字符串转换为日期时间

Vb.net 如何将字符串转换为日期时间,vb.net,Vb.net,使用VB.Net 当我单击gridview列时,所选列项目应该出现在日期时间选择器中 GridView列值为string,datetime选择器数据类型为datetime 代码 当我单击gridview列时,它显示错误为“从字符串“25/09/2011”转换为类型“Date”无效” 如何解决上述问题 需要VB.Net代码帮助….如果您事先知道需要哪种日期格式,请使用DateTime.ParseExact,例如: datetimepicker1.Value = DateTime.ParseExac

使用VB.Net

当我单击gridview列时,所选列项目应该出现在日期时间选择器中

GridView列值为string,datetime选择器数据类型为datetime

代码

当我单击gridview列时,它显示错误为“从字符串“25/09/2011”转换为类型“Date”无效”

如何解决上述问题


需要VB.Net代码帮助….

如果您事先知道需要哪种日期格式,请使用DateTime.ParseExact,例如:

datetimepicker1.Value = DateTime.ParseExact(dt, "dd/MM/yyyy", CultureInfo.InvariantCulture)

此问题与区域设置有关,因为CDATE()函数希望以以下格式提供日期值:MM/DD/YYYY(MM=月,DD=日,YYYY=年)。这意味着该代码在英国失败,即DD/MM/YYYY。通过2011年9月25日被翻译为:

  • 月=25
  • 日=09
  • 年份=2011年
如果正在使用的值是字符串,则需要解析字符串值以提取正确的值,然后再将其传递给CDate()函数:

Private Sub gridview1_CellContentDoubleClick(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
    Handles holidaygrid.CellContentDoubleClick

    textbox1.Text = DateTime.ParseExact( _
        gridview1.Item(1, gridview1.CurrentRow.Index).Value, _
            "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString()

 End Sub
Private Sub gridview1_CellContentDoubleClick(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
    Handles holidaygrid.CellContentDoubleClick

    textbox1.Text = DateTime.ParseExact( _
        gridview1.Item(1, gridview1.CurrentRow.Index).Value, _
            "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString()

 End Sub