在Windows应用商店中显示有关语言的日期

时间:2013-04-29 06:00:08

标签: c# windows-store-apps

在我的Windows应用商店应用中,我使用"{0:D}"

显示日期格式(2013年3月9日星期日)

我认为Windows默认语言是英语(英国)。在我的应用程序中,我想显示多种语言。如果我更改语言,假设我更改为英语(美国),日期显示为( 2013年3月9日星期日)。

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

txt4.Text = date;

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

1 个答案:

答案 0 :(得分:0)

您可以在MSDN页面Quickstart: Translating UI resources (Windows Store apps using C#/VB/C++ and XAML)上找到“为其他语言测试应用”的指南:

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

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

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

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