用户在使用它时效果很好,很容易使用(即使我想以某种方式删除年份)并且代码如下所示:
var DatePickerXamlName = selectedDate;
DatePickerXamlName.Format = "ddd, d:e MMMM";
当我将用户输入的信息作为字符串输入时,如何才能使格式相同?我试图做这样的事情,但它非常混乱,显然不起作用;
App.ourDates = selectedDate.Date.ToString();
App.ourDates = selectedDate.Format = "ddd, d:e MMMM";
答案 0 :(得分:4)
您可以将format specifier传递给DateTime.ToString();
App.ourDates = selectedDate.Date.ToString("ddd, d:e MMMM");
但是,最好将内部值存储为DateTime,并且只将其转换为字符串以供显示。
在您的特定情况下,您将Label绑定到mySelectedDate,这可能是(大概)DateTime。绑定将自动使用您的语言环境的默认ToString()转换来显示日期。如果要覆盖它,可以在绑定中使用StringFormat参数。
<Label Text = "{Binding ourSelectedDate, StringFormat='{0:ddd, d:e MMMM}'}"
Font = "10" TextColor = "Black" YAlign = "Center" />
答案 1 :(得分:1)
我认为DatePicker可以采用所有标准的C#字符串格式。
http://www.csharp-examples.net/string-format-datetime/
示例:
App.ourDates = selectedDate.Date.ToString("{0:ddd, MMM d, yyyy}"); // It will be Sat, Dec 12, 2015
最好将值存储为DateTime本身,并且可以在出现时将其更改为特定格式。