文化特定日期时间字符串的平台之间不一致字符串、日期、时间、文化

2023-09-05 00:59:47 作者:△无须解释

我有一个测试应用程序,允许用户从下拉框中选择一种文化,并显示在一个多行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的机器没有接收到最新的