2011-03-23 4 views
1

Здесь интересная проблема. Если текущая дата - 23 марта 2011 года, и я запускаю следующий код в приложении silverlight на Mac ...Silverlight DateTime форматирование на Mac Проблема

MessageBox.Show (DateTime.Now.ToString ("yyyy-MM-dd, ddd dddd") ;

Он возвращается! «2011-03-23, чт четверг», когда на самом деле 21 марта является среда Приведенный выше код работает отлично на компьютере с Windows

Я думал, что это может быть связано с настройками компьютера на клиентах Mac, но они попробовали 3 других Mac и ddd вернутся в следующий день недели (т. е. Thu вместо Wed). Хммм, я подумал, поэтому я вышел и принес Mac Book Pro, и проблема также возникла из-за этого.

Моя версия плагина Silverlight на Mac - 4.0.60129.0, текущая культура - en-NZ, браузер - Safari.

Если кто-нибудь может сказать мне, что происходит, или предоставить исправление, которое было бы здорово.

+0

Я нашел эту ссылку в Microsoft Connect, где эта проблема просто изолирована на HTTPS Новой Зеландии TimeZone: // соединение. microsoft.com/VisualStudio/feedback/details/588834/silverlight-date-formatting-on-mac-os-x – Waihibeachian

+0

В итоге я добавил следующее в свой App.xaml.cs – Waihibeachian

ответ

0

Для решения проблемы я добавил следующий код в мой 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; 
} 
Смежные вопросы