我必须检索包含日期的标签值并将其与当前日期进行比较。我尝试将其值转换为日期然后格式化,但它无法正常工作。我使用了CDATE
,Convert.datetime
和CTYPE
。但是每个人都给出了相同的结果。我的代码如下:
Dim datevoucher As DateTime = Format(CType(lblDate.Text, DateTime), "yyyy-MM-dd")
我收到以下错误:
Conversion from string "05/31/2009" to type 'Date' is not valid
就我而言lblDate.text = "05/31/2009"
我也尝试过如下操作,但仍显示错误为" cannot convert string to datetime."
Dim datevoucher As DateTime = Format(DateTime.Parse(lblDate.Text), "yyyy-MM-dd")
我也试过使用下面的文化,但是再次没有成功,它最初工作,但后来它突然开始抛出错误。我在代码中根本没有改变任何内容:
Dim dt As DateTime = DateTime.Parse(lblDate.Text,
System.Globalization.CultureInfo.GetCultureInfo("en-GB").DateTimeFormat)
从过去的两天开始,我已经尝试了一些我能在互联网上找到的东西,但问题仍然存在。
答案 0 :(得分:0)
为什么这不起作用
Dim datevoucher As DateTime = Format(CType(lblDate.Text, DateTime), "yyyy-MM-dd")
因为
Format()
将以字符串格式生成输出,但不会直接转换为DateTime
格式。这就是你收到错误的原因[CDate][1]
进行此次转化对于示例:
Dim s As String = "05/31/2009"
Dim mydate As DateTime = CDate(s)
您的方案:
Dim datevoucher As DateTime = CDate(lblDate.Text)