2012-05-02 8 views
17

float 값을 분수로 나타내는 값을 가지고 TimeSpan 개체로 변환하는 간단한 방법이 있습니까? 예 :float를 시간 범위로 변환

float oneAndAHalfHours = 1.5f; 
float twoHours = 2f; 
float threeHoursAndFifteenMinutes = 3.25f; 
float oneDayAndTwoHoursAndFortyFiveMinutes = 26.75f; 

TimeSpan myTimeSpan = ConvertToTimeSpan(oneAndAHalfHours); // Should return a TimeSpan Object 

아이디어가 있습니까?

답변

33

FromHours 방법을 원합니다.

이 (오히려 부동 소수점 제외) 더블을 받아 반환하는 TimeSpan : 이름 지정 방식 것은 단지 미친

TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750); 
double hours = interval.TotalHours; 
12

그래서, 찾고 있습니다 ... TimeSpan.FromHours(double)?

문서는 친구입니다.

+8

그건 :

double hours = 1.5; TimeSpan interval = TimeSpan.FromHours(hours); 

얻을 수있는 TimeSpan에서 총 시간은 'TotalHours' 속성을 사용 . 그래서 발견 할 수없는. 타임 스팬 (TimeSpan.FromHours)이 * Time * 시간 *을 사용하여 * TimeSpan *을 만들고 싶다면 누가 생각 했겠습니까? –

+1

@JonSkeet : 알아, 그것은 마음을 boggles. Lippert는 어디 있습니까?! –

+1

나는 Eric이 디자인 한 날짜/시간 API를보기 위해 좋은 돈을 지불 할 것이다. 사실 전적으로 말 그대로 ... 노다 시간에 찍은 결정과 그의 결정을 비교할 때 얻을 수있는 가치는 나에게 상당히 가치 있다고 생각합니다. –