У меня есть тестовое приложение, которое позволяет пользователю выбирать культуру из ComboBox и отображает дату, специфичную для культуры, в многострочном текстовом поле. Код ниже:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Items.AddRange(
CultureInfo.GetCultures(CultureTypes.SpecificCultures));
}
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
CultureInfo selectedCulture = comboBox1.SelectedItem as CultureInfo;
DateTime currentDate = DateTime.Now;
textBox1.Text =
"My Date : " + currentDate.ToString() + Environment.NewLine +
"Culture Specific Date: " + currentDate.ToString(selectedCulture);
}
}
Я заметил, что если выбран арабский (Саудовская Аравия) ar-SA, то я вижу разные результаты, когда запускаю приложение на разных машинах.
На компьютере с Windows 7 в текстовом поле отображается:
My Date : 4/11/2012 4:07:09 PM Culture Specific Date: 19/05/33 04:07:09 م
На компьютере с Windows XP в текстовом поле отображается:
My Date : 4/11/2012 4:07:09 PM Culture Specific Date: 20/05/33 04:07:09 م
Как видите, дата, относящаяся к культуре, отличается на день. Что может быть причиной этого несоответствия?
US
? - person gdoron is supporting Monica   schedule 12.04.2012