我有一个包含以下内容的文本文件: 流程开始于 2023/03/04 22:17:53 ... 流程完成 2023/03/04 22:18:40
我使用 Visual Studio 2022 和 .NET 6
我希望能够读取这些字段,计算时间差,然后将时间差转换为字符串,以便稍后在 MessageBox() 中显示。
Public Shared Function CalcTime(Index As Byte) As TimeSpan
Dim duration As New TimeSpan
Dim startTime As New DateTime(22, 17, 53)
Dim endTime As New DateTime(22,18,40)
duration = endTime - startTime
Return duration
End Function
我收到错误 BC30311 类型“TimeSpan”的值无法转换为“TimeSpan”
如果我将最后一行更改为:
duration = endTime.Subtract(startTime)
结果相同的消息
Test()
Dim duration As TimeSpan
Dim durStr As String
duration = CalcTime(0)
durStr = String.Format("{0:hh\\:mm\\:ss}", duration)
Try
durStr = String.Format("{0:hh\\:mm\\:ss}", duration)
Catch e As FormatException
durStr = "Invalid Format"
End Try
字符串格式的时间差进入这个字符串:
Dim TimeDiff1Str As String = "Time diff " & durStr & " for " & vbCrLf
有没有人有一个清晰简洁的方法来做我想做的事情? 谢谢。
根据 Internet 上的搜索,我预计至少有一些片段可以使用。我确实注意到并不总是有清晰的 vb.net 代码,因为 TimeSpan 对象也出现在其他语言中。