将DateTime转换为整数



如何将随机生成的时间转换为整数,这就是我如何格式化我的时间;

StartTime = FormatDateTime(Now, DateFormat.LongTime)
EndTime = FormatDateTime(Now, DateFormat.LongTime)
Diff = (EndTime - StartTime.Subtract(TimeSpan))

例如Diff = "08:30:12"

我希望能够将其转换为"8.30",即8小时30分钟。

8.30不是Integer

但是,如果您想要一个包含小时和分钟部分的字符串,则可以将TimeSpan.HoursTimeSpan.Minutes属性与String.Format一起使用:

String.Format("{0}.{1}", Diff.Hours, Diff.Minutes) 

你说你想要一个整数表示你的Diff结果
假设Diff是一个TimeSpan结构,为什么不用simple呢?

 Dim x as Integer 
 x = Convert.ToInt32(Diff.TotalMinutes)

当然,我假设差异不会大到溢出整数

你可以这样做:

Dim d As Decimal
d = Diff.Hours + Diff.Minutes / 100D

100D给出了除法所需的小数。整数除法30/100得到0

可以使用DateTime。函数,它返回一个长

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

相关内容

  • 没有找到相关文章

最新更新