我可以使用
获取当前文化的DateTime格式Windows.Globalization.DateTimeFormatting.DateTimeFormatter dtf = new DateTimeFormatter("shortdate",new[] { "en-US"}, "US", CalendarIdentifiers.Gregorian, ClockIdentifiers.TwelveHour);
但是我想设置DateTime格式,特别是日期格式为MM / dd / yy。 如何在整个应用程序中实现这一目标。
答案 0 :(得分:0)
但我想设置DateTime格式,特别是日期格式为MM / dd / yy。
如果我理解正确的话。您可以更改格式模板模板,如下所示:
Windows.Globalization.DateTimeFormatting.DateTimeFormatter dateFormatter = new DateTimeFormatter("{month.integer(2)}/{day.integer(2)}/{year.abbreviated}", new[] { "en-US" }, "US", CalendarIdentifiers.Gregorian, ClockIdentifiers.TwelveHour);
它将获得如下输出:07/08/16
。对于格式模板详细信息,您可以参考this document的 格式模式字段 。
如何在整个应用程序中实现这一目标。
您可以将此格式化程序全局存储到App.Resources
,如下所示:
OnLaunch
内部App.Xaml.cs
方法:
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
...
var dateFormatter = new DateTimeFormatter("{month.integer(2)}/{day.integer(2)}/{year.abbreviated}", new[] { "en-US" }, "US", CalendarIdentifiers.Gregorian, ClockIdentifiers.TwelveHour);
this.Resources.Add("dateFormatter", dateFormatter);
...
}
然后,您可以通过以下代码在应用中的任何位置获取它:
var formater = (DateTimeFormatter)App.Current.Resources["dateFormatter"];
var timeStr=formater.Format(DateTime.Now);
<强>更新强>:
对于DatePicker
控件,您可以手动设置DayFormat,MonthFormat和YearFormat,如下所示:
<DatePicker DayFormat="{}{day.integer(2)}" MonthFormat="{}{month.integer(2)}" YearFormat="{}{year.abbreviated(2)}"></DatePicker>
对于CalendarDatePicker,您可以手动设置DateFormat属性,如下所示:
<CalendarDatePicker DateFormat="{}{day.integer(2)}/{month.integer(2)}/{year.abbreviated(2)}" ></CalendarDatePicker>