我有这样的约会:
equipBooking.BookedFromDteTme.Date = `{12/5/2013 12:00:00 AM}`
我希望像这样申请时间,但我不知道如何从最后获得AM和PM。
dtStartTimeHour.SelectedItem = equipBooking.BookedFromDteTme.TimeOfDay.Hours;
dtStartTimeMin.SelectedItem = equipBooking.BookedFromDteTme.TimeOfDay.Minutes;
**dtStartTimeAMPM.SelectedItem = equipBooking.BookedFromDteTme.???????.;**
请帮帮我。
我尝试过这样的事情:
var startDatestr = equipBooking.BookedFromDteTme.TimeFrom.Split(new string[] { ":", ":",":",":" }, StringSplitOptions.RemoveEmptyEntries);
AM/PM = startDatestr[3]
答案 0 :(得分:6)
如果你只想要字符串,你可以这样做:
equipBooking.BookedFromDteTme.ToString("tt");
或者对于布尔结果使用:
bool isPM = (equipBooking.BookedFromDteTme.Hour >= 12);
顺便说一句,您无需致电TimeOfDay
- 您可以直接从Hour
获取Minute
和DateTime
财产:
dtStartTimeHour.SelectedItem = equipBooking.BookedFromDteTme.Hour;
dtStartTimeMin.SelectedItem = equipBooking.BookedFromDteTme.Minute;
dtStartTimeAMPM.SelectedItem = equipBooking.BookedFromDteTme.ToString("tt");
答案 1 :(得分:2)
尝试使用dateTime.ToString("tt");
答案 2 :(得分:2)
TimeSpan
不会存储时间,而是存储任何时间间隔的长度。它没有AM / PM的概念。
TimeOfDay
返回自午夜以来的时间量。
如果Hours
大于或等于12,那将是PM。