Xamarin表单,如何将日期选择器的输入日期转换为您选择的格式?

时间:2015-12-12 01:27:38

标签: c# xamarin xamarin.forms

用户在使用它时效果很好,很容易使用(即使我想以某种方式删除年份)并且代码如下所示:

var DatePickerXamlName = selectedDate;
        DatePickerXamlName.Format = "ddd, d:e MMMM";

当我将用户输入的信息作为字符串输入时,如何才能使格式相同?我试图做这样的事情,但它非常混乱,显然不起作用;

App.ourDates = selectedDate.Date.ToString();
App.ourDates = selectedDate.Format = "ddd, d:e MMMM";

2 个答案:

答案 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本身,并且可以在出现时将其更改为特定格式。