2013-04-17 1 views
2

예를 들어 이것을 변환하려고합니다. 12/31/2012 형식을 DateTime으로 변환하지만이 코드를 실행하면 변환이 작동하지만 시간이 최신이 아닙니다.문자열 (Textbox.text)을 현재 시간이있는 DateTime으로 변환합니다.

예 : 나는 날짜 시간에 있지만, 현재 시간으로 변환 찾고 있어요 나는 아래의 코드를 실행하고 날짜를 입력 할 때 : 2012년 12월 31일

를 내가 얻을 : 2012년 12월 31일 12:00 자정

나는 TimeOfDay 속성을 사용하여 대신 오전 12시 0분 0초

Console.Write("Enter Current Date: "); 

    string strMyDate = Console.ReadLine(); 

    DateTime dt = DateTime.Parse(strMyDate); 

    Console.WriteLine(dt); 

    Console.ReadKey(); 

답변

9

당신은 DateTime.Now 만의 시간을 추출 할 수의 현재 시간을 얻을하고 수동에 추가하는 방법을 잘 모르겠습니다 입력 한 날짜, 예 사용자가 입력 한 값이 구문 분석 날짜, 예를 들면하지 않을 수 있습니다으로

var time = dt.Add(DateTime.Now.TimeOfDay); 

추가 참고로, 내가 대신 DateTime.TryParse을 사용

DateTime dt; 
var isDate = DateTime.TryParse(strMyDate, out dt); 
if(isDate) 
{ 
    var time = dt.Add(DateTime.Now.TimeOfDay); 
} 
+0

고맙습니다! 이것들은 모두 중요한 해결책입니다. 이제 나는 전에 모르는 일을 알고 있습니다. 언젠가 나는이 호의를 돌려주기를 희망하지만, 지금은 여전히 ​​은유이며 은유 적으로 미친입니다. 조지 감사합니다! – Asynchronous

1

DateTime.Now은 현재 시간을 알려줍니다. 결과를 얻으려면 Now의 시간 부분과 첫 번째 값의 날짜 부분을 결합하십시오.

1

당신의 문자열이 추가 :

string strMyDate = Console.ReadLine(); 
strMyDate = string.Format("{0} {1}", 
    strMyDate, 
    DateTime.Now.ToShortTimeString()); 
1

실제로이 컴파일되지 가지고 있지만이 같은 작업을해야합니다 :

DateTime dt = DateTime.Parse("12/31/2012 " + DatTime.Now.TimeOfDay.ToString()); 
1

당신은 시간, 분, 초까지의 시간을 구축 할 수 있습니다 부분의 DateTime.Now;

string strMyDate = "12/31/2012"; 
DateTime dt = DateTime.Parse(strMyDate); 
DateTime current = DateTime.Now; 
dt = dt.AddHours(current.Hour).AddMinutes(current.Minute).AddSeconds(current.Second); 
Console.WriteLine(dt); 
관련 문제