Vb.net 如何计算两次之间的小时数

Vb.net How to count hours between two times

首先,我问的问题对我来说很难问,因为我的英语不是很好

我在制作程序时,从我的其他程序中获取值,然后使用该数据进行一些计算。为了让您更好地想象它,我将解释它是如何工作的。一名技术人员每天工作 7.5 小时。他在 7:30 AM 和 4:00 PM 之间工作(12:00-12:30 之间有休息时间)。在此期间,客户每小时支付 88,00 欧元。如果技术人员需要停留更长的时间,在 4:00 下午之后,客户将必须支付每小时 110,00 欧元,在 10:00 下午 132,00 欧元之后以及从 10:00 下午直到06:00 上午 176,00 欧元。 从我的其他程序中,我得到如下值:

工作至

如果当天是节假日(如果为真,客户将独立支付每小时 176,00 欧元。

午餐(如果为 true,则减去 30 分钟)

我的问题是:如何根据时间计算不同价格的小时数? 首先,我虽然将时间转换为小数以获得小时数,但后来我意识到我不知道该怎么做。如果能提供一些建议和技巧,我将不胜感激。 有关更多信息,请发表评论,我会尽力而为。 谢谢

这个问题的几个方面,这不是代码编写服务。如果您想确定时差,请使用以下..

Dim minutesDiff = DateDiff(DateInterval.Minute,datetime1,datetime2)
Console.WriteLine("{0} hours {1} minutes", Math.Abs(minutesDiff) / 60, Math.Abs(minutesDiff) Mod 60

Source

如果您在 Vb.Net,您可以使用所有 .Net 工具,例如 DateTimeTimespan 进行时间计算:

Dim startTime = New DateTime(2001, 1, 1, 10, 0, 0)
Dim endTime = New DateTime(2001, 1, 1, 10, 30, 0)

Dim duration = endTime - startTime
Dim durationInHour = duration.TotalHours