特定于区域性的日期时间字符串在平台之间不一致
本文关键字:字符串 平台 之间 不一致 时间 日期 区域性 | 更新日期: 2023-09-27 18:30:52
我有一个测试应用程序,允许用户从组合框中选择区域性,并在多行文本框中显示区域性特定的日期。代码如下:
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 计算机上,文本框显示:
我的日期 : 4/11/2012 4:07:09 PM文化特定日期:19/05/33 04:07:09 م
在 Windows XP 计算机上,文本框显示:
我的日期 : 4/11/2012 4:07:09 PM文化特定日期:20/05/33 04:07:09 م
如您所见,区域性特定日期相差一天。造成这种差异的原因是什么?
我怀疑这是由于Windows XP机器没有收到对Umm al-Qura日历的最新调整,而Windows 7框可能是最新的,尽管我不希望这些调整会影响当月。或者,这可能是由于以下原因:
直到最近才有了更多的信息,现在才有可能重建最近在阿拉伯半岛采用的日历,并提前多年预测其未来的走向。
。所以也许Windows XP实现已经过时了。
(顺便说一下,该页面同意目前是第 19 个。