gpt4 book ai didi

vb.net - 以小时/分钟计算的代码优化

转载 作者:行者123 更新时间:2023-12-03 17:36:56 27 4
gpt4 key购买 nike

以下代码从午夜开始以分钟为单位的时间范围,并以分钟pr小时创建一个数组。但是,它很慢。还有更好的建议吗? (不,更改语言不是一种选择:-))

Const clDeparture   As Long = 123
Const clArrival As Long = 233
Dim lHour As Long
Dim lMinute As Long
Dim alHour(25) As Long

For lMinute = 0 To 1440
If lMinute >= clDeparture And lMinute < clArrival Then
alHour(Int(lMinute / 60)) = alHour(Int(lMinute / 60)) + 1
End If
Next


数组现在应包含:

(0,0)
(1,0)
(2,57)
(3,53)
(4,0).....

问候

最佳答案

您想知道时间间隔中每小时有多少分钟?
我认为这应该做到,或者接近它:

lDepHour = Int(clDeparture / 60)
lDepMinute = clDeparture - lDepHour * 60
lArrHour = Int(clArrival / 60)
lArrMinute = clArrival - lArrHour * 60

If (lDepHour = lArrHour) Then
alHour(lDepHour) = lArrMinute - lDepMinute
Else
alHour(lDepHour) = 60 - lDepMinute
alHour(lArrHour) = lArrMinute
For lHour = lDepHour + 1 To lArrHour - 1
alHour(lHour) = 60
End For
End If


这应该比您的速度快60倍。

附言如果时间跨度可以是午夜(到达<出发),则在到达时间上加上24 * 60,执行相同的逻辑,如果 lHour >= 24,则将数字放在 lHour - 24中。

关于vb.net - 以小时/分钟计算的代码优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com