我有一个显示一些数据的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
。
欢呼声。
答案 0 :(得分:1)
虽然在Windows上更改控制面板中的格式会更改页面刷新的格式,但MacOSX上并非如此。
G
格式字符串使用的设置是Full
中的System preferences -> Language & Text -> Times
格式,而不是我预期的Long
格式。
一旦设置被修改,您必须注销并重新登录以查看更改。
MSDN文档应该更明确一点。
感谢指点Jon!
我现在唯一的问题是我为用户设置了当前的文化(以便用户可以选择他的语言),并且如果语言与他的系统中的语言不同,则不幸地覆盖了用户格式。 至少现在我知道该怎么告诉用户。
答案 1 :(得分:0)
这表明Mac上的LongTimePattern
不同。 (“G”格式说明符的意思是“短日期和长时间模式”。)
尝试在两个平台上显示CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern
,看看他们说了什么。