我对不同的帖子做了一些研究,得出的结论是我的代码如下所示:
Public Class Form1
Private Sub btnGetTime_Click(sender As Object, e As EventArgs) Handles btnGetTime.Click
getTime.ShowDialog()
lblTime.Text = DateAdd(DateInterval.Second, 0, CDate(lblTime.text))
End Sub
End Class
在“ CDate(lblTime.text)”处有错误。现在,我几乎不知道这段代码的大部分含义。我想这就是VB的工作方式,请稍后学习。问题是我无法使用cDate将字符串:lblTime.text转换为日期格式?为什么不?我正在使用cDate()?
错误显示为:
System.InvalidCastException: 'Conversion from string "Label1" to type 'Date' is not valid.'
解决方案:
问题出在maskedtextbox上,我在其中有一个字符串作为预览。问题来自将该字符串转换为日期。
应该是:
答案 0 :(得分:1)
您正在尝试将字符串转换为日期。您可以为此使用Convert.ToDateTime
函数。
lblTime.Text = "2018-11-05"
Dim date as Date = Convert.ToDateTime(lblTime.Text)
date.ToString("yyyy-MM-dd"); //to convert back to string.
如果您的日期具有自定义格式,请查看DateTime.ParseExact
,以便您也可以指定格式。
您可以阅读有关here的信息。
如果您的日期格式为11/05/2018
,
lblTime.Text = "11/05/2018"
Dim dt as Date = DateTime.ParseExact(lblTime.Text, "MM/dd/yyyy", Nothing)
date.ToString("yyyy-MM-dd"); //to convert back to string