如何从日期选择器后端检索格式化版本的日期
How to retrieve formatted version of date from date picker backend
我在 iOS 应用程序(使用 xamarin)中使用了一个日期选择器和时间选择器,我正在尝试检索用户选择的日期和时间以在代码的其他地方使用。我的问题是我不确定如何只检索日期或时间。例如,我有以下代码来检索日期:
// not getting proper date format!
var selectedDate = ContactDatePicker.Date.ToString ();
var selectedTime= ContactTimePicker.Date.ToString ();
Console.WriteLine ("Here: {0}, {1}", selectedDate, selectedTime);
但它输出每个变量的完整日期和时间,如下所示:
Here: 2016-05-24 15:18:50 +0000, 2016-05-24 15:18:50 +0000
我想要 2016-05-24
之类的日期或 15:18:50
之类的时间。我意识到我可以为此使用正则表达式,但我想知道是否有一种简单的方法来格式化日期。
由于 UIDatePicker.Date
returns nsdate
您可以先将其转换为 DateTime 并向 ToString
方法提供所需的格式。
var dateTime = DateTime.SpecifyKind(ContactTimePicker.Date, DateTimeKind.Unspecified);
var selectedDate = dateTime.ToString("yyyy-MM-dd");
var selectedTime= dateTime.ToString("HH:mm:ss");
如果 ContactDatePicker.Date
类型是 DateTime
您可以使用 ToShortDateString()
和 ToShortTimeString()
或 ToLongTimeString
:
var selectedDate = ContactDatePicker.Date.ToShortDateString();
var selectedTime = ContactTimePicker.Date.ToLongTimeString();
//Output:
2016-05-24
15:18:50
根据 UIDatePicker、Date
属性 returns a NSDate
的文档,但存在到 DateTime
的隐式转换,所以你可以这样做:
DateTime date = ContactDatePicker.Date //Implicit conversion
var selectedDate = date.ToShortDateString();
var selectedTime = date.ToLongTimeString();
感谢我最终使用的信息:
// explicitly convert NSDate to DateTime to change format
DateTime date = (DateTime)ContactDatePicker.Date;
DateTime time = (DateTime)ContactTimePicker.Date;
// able to overload ToString() method with argument to change format
var selectedDate = date.ToString ("d");
var selectedTime = time.ToString ("HH:mm:ss");
我在 iOS 应用程序(使用 xamarin)中使用了一个日期选择器和时间选择器,我正在尝试检索用户选择的日期和时间以在代码的其他地方使用。我的问题是我不确定如何只检索日期或时间。例如,我有以下代码来检索日期:
// not getting proper date format!
var selectedDate = ContactDatePicker.Date.ToString ();
var selectedTime= ContactTimePicker.Date.ToString ();
Console.WriteLine ("Here: {0}, {1}", selectedDate, selectedTime);
但它输出每个变量的完整日期和时间,如下所示:
Here: 2016-05-24 15:18:50 +0000, 2016-05-24 15:18:50 +0000
我想要 2016-05-24
之类的日期或 15:18:50
之类的时间。我意识到我可以为此使用正则表达式,但我想知道是否有一种简单的方法来格式化日期。
由于 UIDatePicker.Date
returns nsdate
您可以先将其转换为 DateTime 并向 ToString
方法提供所需的格式。
var dateTime = DateTime.SpecifyKind(ContactTimePicker.Date, DateTimeKind.Unspecified);
var selectedDate = dateTime.ToString("yyyy-MM-dd");
var selectedTime= dateTime.ToString("HH:mm:ss");
如果 ContactDatePicker.Date
类型是 DateTime
您可以使用 ToShortDateString()
和 ToShortTimeString()
或 ToLongTimeString
:
var selectedDate = ContactDatePicker.Date.ToShortDateString();
var selectedTime = ContactTimePicker.Date.ToLongTimeString();
//Output:
2016-05-24
15:18:50
根据 UIDatePicker、Date
属性 returns a NSDate
的文档,但存在到 DateTime
的隐式转换,所以你可以这样做:
DateTime date = ContactDatePicker.Date //Implicit conversion
var selectedDate = date.ToShortDateString();
var selectedTime = date.ToLongTimeString();
感谢我最终使用的信息:
// explicitly convert NSDate to DateTime to change format
DateTime date = (DateTime)ContactDatePicker.Date;
DateTime time = (DateTime)ContactTimePicker.Date;
// able to overload ToString() method with argument to change format
var selectedDate = date.ToString ("d");
var selectedTime = time.ToString ("HH:mm:ss");