如何在 UWP 中的整个应用程序中设置日期时间格式
本文关键字:设置 应用程序 日期 格式 时间 UWP | 更新日期: 2023-09-27 17:56:02
我能够通过以下方式获取当前区域性的日期时间格式
Windows.Globalization.DateTimeFormatting.DateTimeFormatter dtf = new DateTimeFormatter("shortdate",new[] { "en-US"}, "US", CalendarIdentifiers.Gregorian, ClockIdentifiers.TwelveHour);
但我想将日期时间格式,特别是日期格式设置为 MM/dd/yy。我怎样才能在整个应用程序中实现这一点。
但我想将日期时间格式,特别是日期格式设置为 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
.有关格式模板详细信息,您可以参考本文档的格式模式字段。
我怎样才能在整个应用程序中实现这一点。
您可以通过将其保存到如下所示的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
控件,您可以手动设置日格式,月格式和年格式,如下所示:
<DatePicker DayFormat="{}{day.integer(2)}" MonthFormat="{}{month.integer(2)}" YearFormat="{}{year.abbreviated(2)}"></DatePicker>
对于日历日期选择器,您可以手动设置日期格式属性,如下所示:
<CalendarDatePicker DateFormat="{}{day.integer(2)}/{month.integer(2)}/{year.abbreviated(2)}" ></CalendarDatePicker>