2012-02-25 6 views
0

비교적 새로운 Windows Phone 개발자가 도움을 찾고 있습니다. 기본적으로 저는 마침내 시장에 나가려고하는 앱을 가지고 장난하고 있습니다.Windows 용 특정 날짜 형식을 C#으로 설정하십시오. 전화

기본적으로 응용 프로그램은 특정 날짜까지 카운트 다운 중입니다. 카운트 다운이 문제없이 작동하지만, 영국에있는 것처럼 날짜 형식에 문제가 있습니다. 날짜 형식은 dd/MM/yyyy 인 반면 상태는 MM/dd/yyyy입니다. 따라서 앱은 미국 내 어느 누구에게나 부정적인 수치로 나타납니다. 기본적으로 내 애플 리케이션 또는 그 비슷한 뭔가 보편적 인 날짜 형식을 설정하는지, 일종의 해결 방법으로 도움이 필요합니다. 당신이 날짜를 하드 코딩하는 경우

 DateTime startDate = DateTime.Now; 
     var launch = DateTime.Parse("01/08/2012 00:00:00 AM"); 
     TimeSpan t = launch - startDate; 

     Countdown.Text = string.Format("\r {0}\r Days \r {1}\r Hours \r {2}\r Minutes \r {3}\r Seconds", t.Days, t.Hours, t.Minutes, t.Seconds); 
+0

질문과 관련없는 쪽지 : '00:00:00 AM'표기법은 대부분의 시간 규칙을 위반합니다. 일반적으로 '12:00:00 AM'(12 시간제) 또는 '00 : 00 : 00' (24 시간제) 만 쓸 것입니다. – Douglas

답변

2

, 당신은 오히려 문자열을 구문 분석보다는 DateTime(int,int,int) 생성자를 사용해야합니다 다음은 카운트 다운에 대한 코드입니다. 세 개의 매개 변수는 항상 년, 월, 일 (그 순서대로)으로 해석됩니다.

var launch = new DateTime(2012, 08, 11); 
+0

이것은 정확하게 내가 필요한 것입니다. 저는 C#에 대해 매우 새롭다고 말했듯이 모두에게 도움을 청합니다! – BB1873

0

DateTime의 ToString() 메서드에는 사용자 지정 형식 문자열을 사용하는 오버로드가 있습니다.

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

이 요청하거나 사용자 영역을 설정하고 올바른 형식으로 그에게 날짜를 보낼 매우 간단하다.

그 외에도 System.Globalization.CultureInfo 개체를 사용하는 ToString의 오버로드가 있으므로 사용자가 뭔가를 할 수 있습니다.

myDateTime.ToString(new System.Globalization.CultureInfo(Thread.CurrentThread.CurrentCulture.Name)); 

이렇게하면 OS 설정에 따라 사용자 영역에 대한 형식이 올바르게 지정되어야합니다.

관련 문제