2010-07-21 44 views
0

我有一個顯示一些數據的Silverlight應用程序。 我使用DateTimeConverter將DateTime的值轉換爲String。 我使用dateTime.ToString("G")格式,我找回01/01/2010 12:01或類似的東西。 目前爲止這麼好。Silverlight在mac上顯示時區信息,而不是使用字符串(「G」)作爲格式的PC

但是,Mac上的相同應用程序顯示01/01/2010 12:01 +02:00。那是UTC的當前偏移量(因此UTC的時間是10:01)。

這是怎麼回事? Mac上有特殊設置嗎?我玩了系統設置,並從文本格式中刪除了CET等,但我仍然得到完全相同的結果。 這是一個錯誤?

編輯:當我按照答案中的建議顯示格式模式時,PC上有HH:mm:ss,Mac上有HH:mm:ss zzzz。 乾杯。

回答

0

這表明LongTimePattern在Mac上不同。 (「G」格式說明符表示「短日期和長時間模式」。)

嘗試在兩個平臺上顯示CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern並查看他們的說法。

1

儘管在Windows中更改控制面板中的格式會更改頁面上的格式刷新,但在MacOSX上並非如此。

G格式字符串使用的設置是在System preferences -> Language & Text -> TimesFull格式,而不是Long格式如我所料。

一旦設置被修改,您必須註銷並重新登錄才能看到更改。

MSDN文檔應該更清楚一點,在methinks。

感謝指針喬恩!

我現在唯一的問題是,我爲用戶設置了當前的文化(這樣用戶可以選擇他的語言),不幸的是,如果語言與他的系統中的語言不同,則會覆蓋用戶格式。至少現在我知道該告訴用戶了。

相關問題