使用 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