2013-08-30 5 views
0

나는 시간을 비교하려고 노력하고 있으며 수학 시간에 전화를 사용하여 현재 사용하고 싶습니다. 이제 내가이 문자열을 얻을 수 있다면 확실해. 그럼 내 앱이 100 % 완성 될거야.왜 내 DateTime이 잘못 되었습니까?

DateTime phonecurrentime = 
    new DateTime(DateTime.Today.Day, DateTime.Now.Hour, DateTime.Now.Minute); 

유일한 문제는 ... -

testbox.Text = phonecurrentime.ToString("dd hh:mm"); 

표시의 잘못된 시간 : 28 12시 - ????? 그날이 실제로 30 일과 시간으로 01:30

어떻게하면 정확한 날짜를 표시 할 수 있습니까?

+1

현재 시간이 DateTime.Now입니다 당신은 더 이상 버전을합니다. 자신의 방식대로 만들 필요가 없습니다. –

답변

11

휴대 전화의 현재 시간이 Now 일 때 생성자를 사용하여 인스턴스를 만드는 이유는 무엇입니까? hh는 00~12시간 형식으로 시간을 표시하기 때문에 간단하게 DateTime.Now

DateTime phonecurrentime = DateTime.Now; 

testbox.Text = phonecurrentime.ToString("dd hh:mm"); //30 01:30 

당신은 또한 AM/PM을 사용해야합니다 사용합니다. 날짜/시간 형식은 "dd hh:mm tt"이어야합니다. 이 경우 두 번째 날의 경우 문자열은 30 01:30 PM이됩니다.

+0

디버거가 해당 DateTime으로 중단됩니다. phonecurrentime = new DateTime (DateTime.Today.Day, DateTime.Now.Hour, DateTime.Now.Minute); – Jeremy

+0

@ 제레미 크 (Jeremyc) : 내 대답에서 내가 한 것을 사용하십시오. –

+0

내가 필요한 것을 완벽하게 고마워 – Jeremy

5

당신의 당신의 날짜를 만드는 데 사용하는 전화는

DateTime(int year, int month, int day); 

귀하의 코드를 읽어야합니다 (당신이 해 걱정하지 않는 경우, 월) 당신이 년 정도

DateTime phonecurrentime = 
    new DateTime(0, 0, DateTime.Today.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Seconds); 

신경 않는 경우/월

DateTime phonecurrentime = 
    new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Seconds); 

또는 단순히

DateTime phonecurrentime = DateTime.Now; 
+0

오류 'System.DateTime'에 5 개의 인수를 사용하는 생성자가 포함되어 있지 않습니다. – Jeremy

+0

수정. 초를 추가했습니다. – Jason

2

잘못된 생성자를 사용하고 있습니다.

DateTime(int year, int month, int day) 

생성자의 세 정수는 위의 서명입니다. 이처럼

DateTime(int year, int month, int day, int hour, int minute, int second) 

:

DateTime phonecurrentime = 
new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, 0); 

또는 단순히 :

DateTime phonecurrenttime = DateTime.Now; 
+0

위대한 마음 ... 그 대답을 좋아합니다. – Jason

관련 문제