vb.net - 如何在 VB.NET 中使用 TimeSpan 获取包含的总小时数

标签 vb.net timespan

我在 VB.NET 中使用 TimeSpan 函数来获取账单月的总小时数。

我在一个账单月中有 30 天,所以据推测,我有 720 个间隔。通常使用 Timespan,我会得到 696 个间隔。但是我在我的“todate”中添加了一天以获得正确的总小时数。 这是我的代码:

Dim TS As TimeSpan   
Dim totalhours As Integer
Dim todate As DateTime = #11-30-2014#
Dim fromdate As DateTime = #11-01-2014#

TS = todate.AddDays(1).Subtract(fromdate)
totalhours = TS.TotalHours

但是,我认为操纵我的输入日期(通过添加一天)不是最佳做法。有什么方法可以配置时间跨度函数来获取包含的总小时数吗?

最佳答案

那是因为你没有提供时间范围。对于时间部分,单独的日期将是凌晨 12 点。

Dim TS As TimeSpan   
Dim totalhours As Integer
Dim todate As DateTime = #11-30-2014 11:59:59 PM#
Dim fromdate As DateTime = #11-01-2014#

TS = todate.Subtract(fromdate)
totalhours = TS.TotalHours

还有 1 小时。

Dim TS As TimeSpan   
Dim totalhours As Integer
Dim todate As DateTime = #12-01-2014#
Dim fromdate As DateTime = #11-01-2014#

TS = todate.Subtract(fromdate)
totalhours = TS.TotalHours

将获得正确的金额,因为它包含两个日期之间的时间。

关于vb.net - 如何在 VB.NET 中使用 TimeSpan 获取包含的总小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27559478/

相关文章:

C# 等效于 VB 6 DoEvents

object - 使用 Json.NET 序列化 Dictionary<string, object> 中的时间跨度

vb.net - 从文本文件 vb.net 中删除一行

javascript - 在 vb.net 中获取确认值

.net - VB.Net多维Json字符串

c# - 如何处理 Rounding-off TimeSpan?

c# - 如何使用 @Model (TimeSpan) 在 Razor 中使用三元运算符?

vb.net - VB 中的类与模块

c++ - 如何从日期中减去时间

c# - 将 TimeSpan 格式化为看起来像时区偏移