但我想设置日期时间格式,特别是日期格式为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>
如何我是否对所有DatePicker,CalendarDatePickers默认应用? – AbsoluteSith
默认情况下,您无法为所有DatePickers和CalendarDatePickers设置它。您只能手动设置DatePickers的'DayFormat','MonthFormat'和'YearFormat'属性以及'CalendarDatePickers'的'DateFormat'。我会更新答案。 –
有什么办法按特定顺序排列它们吗?像MM/dd/yyyy一样。造成这种情况默认情况下采用设备的格式。 – AbsoluteSith