我在 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/