我有一份巴西假期清单,所以我得到了这个:
[0] {01/01/2010 00:00:00} System.DateTime
[1] {16/02/2010 00:00:00} System.DateTime
[2] {02/04/2010 00:00:00} System.DateTime
[3] {04/04/2010 00:00:00} System.DateTime
[4] {21/04/2010 00:00:00} System.DateTime
[5] {01/05/2010 00:00:00} System.DateTime
[6] {03/06/2010 00:00:00} System.DateTime
[7] {07/09/2010 00:00:00} System.DateTime
[8] {12/10/2010 00:00:00} System.DateTime
[9] {02/11/2010 00:00:00} System.DateTime
[10]{15/11/2010 00:00:00} System.DateTime
[11]{25/12/2010 00:00:00} System.DateTime
Run Code Online (Sandbox Code Playgroud)
当我接收dateTime = {03/06/2010 19:00:00}并致电的方法时:
HolidayDates.Contains(dateTime)
Run Code Online (Sandbox Code Playgroud)
为什么它返回false?处理日期的更好方法是什么?
Jam*_*unt 14
它返回false,因为你的dateTime值有一个时间组件,所以它是一个不同的时间.
去除时间组件调用
HolidayDates.Contains(dateTime.Date)
Run Code Online (Sandbox Code Playgroud)
如果您始终将IEnumerable中的日期存储在00:00:00作为时间组件,那么这将起作用.
| 归档时间: |
|
| 查看次数: |
1537 次 |
| 最近记录: |