需要找到两个 DateTime 对象之间的 TimeSpan

问题描述 投票:0回答:0

我有一个包含以下内容的文本文件: 流程开始于 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 对象也出现在其他语言中。

vb.net datetime timespan
© www.soinside.com 2019 - 2024. All rights reserved.