2012-02-25 51 views
0

這裏比較新的Windows Phone開發者,尋找一些幫助。基本上我正在搞一個我最終想要投放市場的應用程序。在c#中爲windows phone設置特定的日期格式

基本上應用程序正在倒計時到一個特定的日期,我已經倒計時工作沒有問題,但是我確實有一個日期格式的問題,因爲我在英國和日期格式是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 2012-02-25 15:56:54

回答

2

如果你硬編碼的日期,那麼你應該使用DateTime(int,int,int)構造函數,而不是從一個字符串解析它。這三個參數總是被解釋爲年,月,日(按此順序)。

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

這正是我需要的,就像我說的,我對c#很新,所以非常感謝大家的幫助! – BB1873 2012-02-25 15:52:14

0

DateTime的ToString()方法有一個需要自定義格式字符串的重載。

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

這將是相當簡單的要求,或建立用戶的區域,並以正確的格式發送日期給他。

除此之外,ToString有一個重載需要一個System.Globalization.CultureInfo對象,所以你可以做類似的事情。

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

這應該爲您提供基於操作系統設置的用戶區域正確格式的日期時間。