根据 WP7 上的区域性信息转换日期和时间

本文关键字:转换 日期 时间 信息 区域性 WP7 根据 | 更新日期: 2023-09-27 18:36:14

我正在尝试根据用户设置的区域性信息来格式化我的应用程序的日期和时间,但是,我看到的每个帮助资源都一直建议我必须在代码中手动输入每个区域设置。例如,如果我想要en-UK,我将不得不手动添加新的文化信息("en-UK");与类似新文化信息("en-UK")的东西;

有没有办法在手机上利用当前设置的区域性,而无需实际输入 rtc 区域性信息?可能像"date = ConvertToLocalCultureFormat(date);"这样的工作?

根据 WP7 上的区域性信息转换日期和时间

我不知道

这是否适用于 WinPhone7,但您可以使用

 CultureInfo.CurrentCulture.Name

返回当前线程的当前文化的名称(en-UK 或运行您的应用程序的任何内容)

参见参考文献

但是,这不应该是必需的。如果以这种方式将日期时间转换为字符串:

  DateTime dt = DateTime.Now;
  // Converts dt, formatted using the ShortDatePattern
  // and the CurrentThread.CurrentCulture.
  string dateInString = dt.ToString("d");

您应该在手机的正确文化信息中获得转换。

要使用当前区域性格式化任何内容,您根本不需要执行任何特殊操作。不包含特定格式或区域性的所有格式的重载使用默认区域性。

例如,Date.ToString() 方法将使用 this.ToString(CultureInfo.CurrentCulture) 调用重载,以获取应用程序的当前区域性设置并用于格式化。

您阅读了哪些帮助资源,建议您必须手动指定当前区域性?

DateTime.ToString() 参数方法自动使用派生自当前区域性的格式信息。

此方法使用从当前区域性派生的格式信息。特别是,它结合了 ShortDatePattern 返回的自定义格式字符串和 Thread.CurrentThread.CurrentCulture.DateTimeFormat 属性返回的DateTimeFormatInfo对象的LongTimePattern属性。

DateTime exampleDate = new DateTime(2008, 5, 1, 18, 32, 6);
string s = exampleDate.ToString();
// Gives "5/1/2008 6:32:06 PM" when the current culture is en-US.
// Gives "01/05/2008 18:32:06" when the current culture is fr-FR.
// Gives "2008/05/01 18:32:06" when the current culture is ja-JP.