2009-09-17 3 views
2

이것은 내가 지금까지 가지고있는 것입니다.C#에서 두 개의 DateTime 형식 병합

/// <summary> 
/// Gets the date. 
/// </summary> 
/// <param name="date">The date: 05/07/2009</param> 
/// <returns></returns> 
private static DateTime GetDate(string date) 
{ 
    DateTime postDate = DateTime.Parse(date); 
    postDate.AddHours(DateTime.UtcNow.Hour); 
    postDate.AddMinutes(DateTime.UtcNow.Minute); 
    postDate.AddSeconds(DateTime.UtcNow.Second); 
    postDate.AddMilliseconds(DateTime.UtcNow.Millisecond); 

    return postDate; 
} 

두 날짜를 병합하는 더 좋은 방법이 있습니까? 나는 더 우아한 해결책을 찾고 있습니다.

답변

3
return DateTime.Parse(date) + DateTime.UtcNow.TimeOfDay; 
+0

정답입니다. –

7

/// <summary> 
/// Gets the date. 
/// </summary> 
/// <param name="date">The date: 05/07/2009</param> 
/// <returns></returns> 
private static DateTime GetDate(string date) 
{ 
    DateTime postDate = DateTime.Parse(date);   
    return postDate.Add(DateTime.UtcNow.TimeOfDay);   
} 

MSDN 링크를 시도 할 수 있습니다 : DateTime.Add

편집 : 코드 내가 2 날짜를 추가하는 것은 어떤 의미가 확실하지 않아요

+1

이 답변은 잘못된 것입니다. DateTime은 변경 불가능한 구조체입니다. Add 메서드는 DateTime을 수정하지 않고 대신 새 DateTime을 반환합니다. – Joren

+0

@Joren : 당신 말이 맞아요, 저를 시정 해 주셔서 감사합니다. :) –

+0

올바르지 않습니다. 나는 그것을 확인했다. –

1

변경합니다. 어제 + 지금 = 무언가를 어떻게 보여줄 수 있습니까? 어제 + 1 일 = 오늘은 TimeSpan을 추가하는 것이 좋습니다.

원하는 것을 정확하게 설명해 주시겠습니까? 구문 분석 한 날짜는 실제로 TimeSpan입니까? 그럼 당신은 수행해야합니다

반환 DateTime.UtcNow.Add (TimeSpan.parse (timespanstring가))