Silverlight使用字符串(“G”)作为格式在mac而不是PC上显示时区信息

时间:2010-07-21 07:44:46

标签: silverlight macos

我有一个显示一些数据的Silverlight应用程序。 我使用DateTimeConverter将DateTime值转换为String。 我使用dateTime.ToString("G")格式,然后我回来01/01/2010 12:01或类似的东西。 到目前为止一切都很好。

但是,Mac上的相同应用程序显示01/01/2010 12:01 +02:00。那是CET当前偏离UTC的时间(所以UTC的时间是10:01)。

发生了什么事? Mac上有特殊设置吗?我玩了系统设置并从文本格式中删除了CET和其他人,但我仍然得到完全相同的结果。 这是一个错误吗?

编辑:当我按照答案中的建议显示格式模式时,我在PC上有HH:mm:ss,在Mac上有HH:mm:ss zzzz。 欢呼声。

2 个答案:

答案 0 :(得分:1)

虽然在Windows上更改控制面板中的格式会更改页面刷新的格式,但MacOSX上并非如此。

G格式字符串使用的设置是Full中的System preferences -> Language & Text -> Times格式,而不是我预期的Long格式。

一旦设置被修改,您必须注销并重新登录以查看更改。

MSDN文档应该更明确一点。

感谢指点Jon!

我现在唯一的问题是我为用户设置了当前的文化(以便用户可以选择他的语言),并且如果语言与他的系统中的语言不同,则不幸地覆盖了用户格式。 至少现在我知道该怎么告诉用户。

答案 1 :(得分:0)

这表明Mac上的LongTimePattern不同。 (“G”格式说明符的意思是“短日期和长时间模式”。)

尝试在两个平台上显示CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern,看看他们说了什么。