使用 vb.net 在时间跨度和日期之间进行转换
Conversion between timespan and date using vb.net
我正在 运行ning 一个应用程序,我可以在其中获得所需的时间,但是当我尝试从一个值中减去另一个值时,它会出现错误消息,指出无法从日期类型转换发生在时间跨度上。我使用的变量如下所示:
Dim downtime As TimeSpan
Dim uptime As TimeSpan
Dim errortime As String() = lb_critical.SelectedItem.Split({" | "}, StringSplitOptions.RemoveEmptyEntries)
Dim errortimefound As DateTime = Convert.ToDateTime(errortime(0).ToString())
downtime = DateTime.Now - errortimefound
uptime = DateTime.Now - Convert.ToDateTime(downtime.ToString())
当我 运行 这时,我收到停机时间变量错误。
为了尝试解决,我尝试在扣除之前将变量转换为所有DateTime,在互联网上查看但没有成功。
谁能指出我在这里做错了什么。
感谢安德鲁改进了代码,但不幸的是我仍然遇到错误。请看下图:
这是工作方法的示例:
Private Sub Button54_Click(sender As System.Object, e As System.EventArgs) Handles Button54.Click
getTimes("wibblewoffle")
getTimes("2016-06-10 08:55:12")
End Sub
Private Sub getTimes(foundTime As String)
Dim errortimefound As DateTime
If DateTime.TryParse(foundTime, errortimefound) Then
Dim downtime As TimeSpan = DateTime.Now.Subtract(errortimefound)
Dim uptime As TimeSpan = DateTime.Now.Subtract(Convert.ToDateTime(downtime.ToString()))
'do your magic here
Else
MessageBox.Show(String.Format("This is not a valid date time: =>[{0}]", foundTime))
End If
End Sub
我正在 运行ning 一个应用程序,我可以在其中获得所需的时间,但是当我尝试从一个值中减去另一个值时,它会出现错误消息,指出无法从日期类型转换发生在时间跨度上。我使用的变量如下所示:
Dim downtime As TimeSpan
Dim uptime As TimeSpan
Dim errortime As String() = lb_critical.SelectedItem.Split({" | "}, StringSplitOptions.RemoveEmptyEntries)
Dim errortimefound As DateTime = Convert.ToDateTime(errortime(0).ToString())
downtime = DateTime.Now - errortimefound
uptime = DateTime.Now - Convert.ToDateTime(downtime.ToString())
当我 运行 这时,我收到停机时间变量错误。
为了尝试解决,我尝试在扣除之前将变量转换为所有DateTime,在互联网上查看但没有成功。
谁能指出我在这里做错了什么。
感谢安德鲁改进了代码,但不幸的是我仍然遇到错误。请看下图:
这是工作方法的示例:
Private Sub Button54_Click(sender As System.Object, e As System.EventArgs) Handles Button54.Click
getTimes("wibblewoffle")
getTimes("2016-06-10 08:55:12")
End Sub
Private Sub getTimes(foundTime As String)
Dim errortimefound As DateTime
If DateTime.TryParse(foundTime, errortimefound) Then
Dim downtime As TimeSpan = DateTime.Now.Subtract(errortimefound)
Dim uptime As TimeSpan = DateTime.Now.Subtract(Convert.ToDateTime(downtime.ToString()))
'do your magic here
Else
MessageBox.Show(String.Format("This is not a valid date time: =>[{0}]", foundTime))
End If
End Sub