如何将随机生成的时间转换为整数,这就是我格式化时间的方式;
StartTime = FormatDateTime(Now, DateFormat.LongTime)
EndTime = FormatDateTime(Now, DateFormat.LongTime)
Diff = (EndTime - StartTime.Subtract(TimeSpan))
例如Diff = "08:30:12"
我希望能够在8小时30分钟内将其转换为“8.30”。
答案 0 :(得分:1)
8.30不是Integer
。
但是,如果您想要一个包含小时和分钟部分的字符串,则可以将TimeSpan.Hours
和TimeSpan.Minutes
属性与String.Format
一起使用:
String.Format("{0}.{1}", Diff.Hours, Diff.Minutes)
答案 1 :(得分:1)
您说您想要Diff结果的整数表示 假设Diff是TimeSpan结构,为什么不简单地使用?
Dim x as Integer
x = Convert.ToInt32(Diff.TotalMinutes)
当然我认为差异永远不会超过整数
答案 2 :(得分:0)
你可以这样做:
Dim d As Decimal
d = Diff.Hours + Diff.Minutes / 100D
100D给出除法所需的小数。整数除法30/100给出0
答案 3 :(得分:0)
您可以使用DateTime.DiffDate函数,该函数返回长
dim date1 as DateTime = Now
dim date2 as DateTime = Now.AddSeconds(-30600) ' 8.5 hours ago
dim lHr as long = DateDiff(DateInterval.Hour, date1, date2) '=-8
dim lMn as long = DateDiff(DateInterval.Minute, date1, date2) '=-510
lHr = DateDiff(DateInterval.Hour, date2, date1) ' = +8
lMn = DateDiff(DateInterval.Minute, date2, date1) ' = +510
(DateDiff中还有其他间隔,天,秒等也会派上用场)请注意,您的值没有四舍五入。轻松实现小时数分钟
num_Minutes_Past_Hour = lMn - lHr * 60 ' = 30