2013-01-20 51 views
1

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

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

因此,例如Diff = "08:30:12"

我希望能够将其转换成“8.30”为8小时30分钟。

+4

'8.30'不是整数。 – Oded

+2

这完全有缺陷。为什么你想要一个数字(整数,浮点数,无论如何)呢?并且*如果*,那么8:30应该表示为8.5,因为30分钟对应于半小时,而不是一小时的3/10。 –

回答

1

8.30不是Integer

然而,你可以,如果你想用小时和分钟部分字符串与String.Format使用TimeSpan.HoursTimeSpan.Minutes属性:

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

Demo

+0

或者只是'Diff.Format(“hh.mm”)' – millimoose

+0

@millimoose:'Diff'是'TimeSpan',它没有'Format'方法。你可以使用'Diff.ToString(“hhmm”)'这个工作,但只是没有重点。 –

0

你可以这样做:

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

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

1

你说你想要一个整数表示你的比较结果。
假设Diff是TimeSpan结构,为什么不简单使用?

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

当然,我认为不同的是从来没有这么大溢出整数