这是一个有趣的问题。如果当前日期是2011年3月23日,并且我在Mac上的silverlight应用程序中运行以下代码...
MessageBox.Show(DateTime.Now.ToString("yyyy-MM-dd,ddd dddd");
它返回:"2011-03-23,清华星期四“,而实际上3月21日是一个星期三!上面的代码在Windows PC上运行得很好。
我认为这可能与客户Mac上的计算机设置有关,但他们尝试了其他3台Mac,并在第二天返回ddd (即清华而不是Wed)。嗯,我想,所以我出去买了一台Mac Book Pro,问题也发生在那上面。
我在mac上的Silverlight插件版本是4.0.60129.0,当前的区域性是en-NZ,浏览器是Safari。
如果有人能告诉我发生了什么,或者提供一个修复方法,那就太好了。
发布于 2011-03-28 18:50:48
为了解决这个问题,我在App.xaml.cs构造函数中添加了以下代码
if (new DateTime(2011, 3, 28).ToString("ddd") == "Tue")
{
CultureInfo culture = new CultureInfo("en-AU");
culture.DateTimeFormat.DayNames = new[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
culture.DateTimeFormat.AbbreviatedDayNames = new[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
culture.DateTimeFormat.ShortestDayNames = new[] { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" };
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
}https://stackoverflow.com/questions/5401831
复制相似问题