2013-01-20 2 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 분은 30 분이 30 분, 3 분의 1 시간이 아니기 때문에 8.5로 표시되어야합니다. –

답변

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'는'Format' 메소드가없는'TimeSpan'입니다. 작동하는 Diff.ToString ("hhmm")'을 사용할 수 있지만, 그 지점에서만 가능합니다. –

0

을 당신은 할 수 있습니다 :

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

100D는 나누기에 필요한 소수점을 제공합니다. 정수 나누기 30/100은 0을 제공합니다

1

당신은 정수의 Diff 결과를 나타낼 것이라고합니다.
Diff가 TimeSpan 구조라고 가정하면 간단히 사용하지 않는 이유는 무엇입니까? 물론

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

나는 차이가 정수