我有一个测试应用程序,允许用户从下拉框中选择一种文化,并显示在一个多行TextBox的文化具体日期。在code是如下:
I have a test application that allows the user to select a culture from a ComboBox and displays the culture specific date in a multiline TextBox. The code is below:
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,阿拉伯语(沙特阿拉伯),被选中的话,我看到不同的结果,当我运行在不同机器上的应用程序。
I notice that if "ar-SA", Arabic (Saudi Arabia), is selected, then I see different results when I run the application on different machines.
在Windows 7的机器,显示文本框:
On a Windows 7 machine, the text box displays:
My Date : 4/11/2012 4:07:09 PM
Culture Specific Date: 19/05/33 04:07:09 م
在Windows XP计算机,显示文本框:
On a Windows XP machine, the text box displays:
My Date : 4/11/2012 4:07:09 PM
Culture Specific Date: 20/05/33 04:07:09 م
正如你所看到的,文化的具体日期是关闭的一天。这可能是造成这种差异?
As you can see, the culture specific date is off by a day. What could be causing this discrepancy?
我的犯罪嫌疑人的,这是由于Windows XP的机器没有接收到最新的