2012-11-19 7 views

답변

3
var dt = DateTime.ParseExact("2300H", @"HHmm\H", CultureInfo.InvariantCulture); 

당신은 시간을 필요로하는 경우

var time = dt.TimeOfDay; 
+0

TimeSpan을 사용하여 코드를 훔쳤습니다. –

4

만 시간 부분을 처리하는 경우가 여기에 같은 ParseExact 사용하여 타임 스팬 구조로 넣어 더 좋을 수도 :

http://msdn.microsoft.com/en-us/library/dd992370.aspx

LB 제공 한 코드가 당신에게 줄 것이다 DateTime 그러나 당신은 그 날, 월간 물건에 대해 정확하지 않은 값을 얻을 것입니다. 그것은 당신의 디자인에 적합한 경우에 당신은 대신 시간 범위에 정보를 저장하는 동일한 코드를 사용할 수 있습니다

var timeSpan = TimeSpan.ParseExact("2300H", @"hhmm\H", CultureInfo.InvariantCulture); 
+0

당신이뿐만 아니라 일을 아는 일이없는 한 시간 나는 이것이 더 나은 방법이라고 생각하지만, 당신의 시스템에 대해 더 많이 알거나 당신이 성취하고자하는 것을하지 않고 말하기가 어렵다. –

+0

그 코드는 작동하지 않는다. – Magnus

+0

정말요? k 1 초에 고칠 것입니다 –

1

이 다음은 그 날짜 별 DateTime를 반환합니다 종류는 지정되지 않았으며 시간은 제공된 시간 (23:00)과 같습니다.

string s = "2300H"; 
DateTime d = DateTime.ParseExact(s, @"HHmm\H", CultureInfo.InvariantCulture); 

또는 다음이 반환하는 그 날짜 1월 0001 01 DateTime, 종류가 지정되지 않음이며, 시간은 공급 시간시 (23:00)과 같다 :

DateTime.ParseExact(s, @"HHmm\H", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault); 
+0

아니요. '01 January 0001'을 (를) 반환하지 않습니다. '오늘 '을 반환합니다 –

+0

@ L.B - 시도해보십시오! DateTimeStyles.NoCurrentDateDefault를 지정하면 01 January 0001이 반환됩니다. – Joe

+0

Joe, 그 부분을 놓쳤습니다. ( –

관련 문제