После вывода отформатированного шаблона даты для даты 2012-03-14 на Windows 7 и Windows 10 я заметил, что день недели (соответствующий коду формата "d ddd") был пишется по-разному
Console.WriteLine(new DateTime(2012, 3, 14).ToString("dddd d MMMM yyyy", new CultureInfo("gsw-FR")));
Windows 7 выходов: Mittwuch 14 марта 2012
Windows 10 выходов: Mettwuch 14 марта 2012
Аналогично, если вы форматируете ячейку в Microsoft Excel с значение даты 2012-03-14, используя NumberFormat "[$-10484]dddd d mmmm yyyy;@"
, форматирует дату следующим образом:
Excel 2007/2010 на Windows 7: Mittwuch 14 марта 2012
Excel 2013/2016 / 365 на Windows 7: Mettwuch 14 марта 2012
Excel 2007/2010/2013/2016/365 на Windows 10: Mettwuch 14 марта 2012
. NET не использует свою собственную локализацию данные на Windows, данные локализации являются частью операционной системы, поэтому тот же код формата даты отличается в этом примере. В этом случае Windows 7 и Windows 10 имеют разные данные локализации для написания того или иного дня недели с использованием языкового стандарта gsw-FR. Кроме того, похоже, что Excel имеет своеобразное поведение в том, что разные версии (2010 против 2013) Excel в Windows 7 выводят разные отформатированные значения и дополнительно одну и ту же версию Excel (2007 или 2010) в разных операционных системах (Windows 7 и Windows 10) вывод различных форматированных значений. Поэтому неясно, использует ли Excel свои собственные данные локализации или данные операционной системы.