0

在我的 Windows 应用商店应用程序中,我将日期显示为格式(2013 年 3 月 9 日,星期日)使用"{0:D}"

我认为 Windows 默认语言是English (United Kingdom)。在我的应用程序中,我想显示多种语言。如果我更改语言,假设我更改为英语(美国),日期显示为(Sunday Sunday, March 09, 2013)。

loadedDate = DateTime.ParseExact(data.issues[four].date.ToString(), "yyyyMMdd", null);
var date = loadedDate.DayOfWeek + " " + String.Format("{0:D}", loadedDate); 

txt4.Text = date;

如果我尝试更改为以相同方式显示的任何语言:任何帮助都会有帮助。

4

1 回答 1

0

您可以在 MSDN 页面快速入门:翻译 UI 资源(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用程序)上找到指南“测试其他语言的应用程序” :

  1. 打开控制面板,然后选择时钟、语言和区域 > 语言。
  2. 请注意,运行应用程序时显示的语言是列出的顶级语言,即英语、德语或法语。如果您的首选语言不是这三种语言之一,则该应用程序会退回到该应用程序支持的列表中的下一种语言。
  3. 如果您的计算机上没有所有这三种语言,请通过单击添加语言并将它们添加到列表中来添加缺少的语言。
  4. 要使用其他语言测试应用程序,请在列表中选择语言并单击上移,直到它位于顶部。然后运行应用程序。

据我了解,这正是你试图做的。在您的示例中,您使用的是属性DateTime.DayOfWeek,它不是本地化的,因为它只是一个简单的枚举,所以当您看到 Sunday 时,您实际上会看到来自DayOfWeek 枚举的值。要获得本地化的星期几,您可以有不同的方法来查找本地化的星期几,其中之一:

CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(loadedDate.DayOfWeek)

如果您需要更高级的格式化日期时间的方法,也可以使用DateTimeFormatter 。

于 2013-04-29T07:00:05.823 回答