我创建了一个DateTime对象数组。但是,默认情况下,这样做时,数组会获得时间部分。我需要将其删除以与另一个日期进行比较,该日期仅为“dd / MM / yyyy”格式。
创建数组:
DateTime[] exclusionDates = new DateTime[] { new DateTime(2017, 1, 1) };
我正在尝试将其与
进行比较monthlyCalendar.SelectionEnd.Date == excluHarry[0].Date
如何删除数组元素的时间部分?
感谢。
答案 0 :(得分:3)
当您在.Date
对象上使用DateTime
时,您已经排除了时间部分。
此外,DateTime对象没有格式,只有当您在其上调用.ToString()
时才会获得格式,您的monthlyCalendar
对象在向用户显示之前会在内部调用.ToString("dd/MM/yyyy")
,从用户的角度来看,这是您在该表单中看到它的唯一原因。
答案 1 :(得分:1)
。来自DateTime对象的日期将为您提供所需的内容,而无需进行字符串转换。我附加了两个具有相同日期但具有不同时间的DateTime对象的示例代码。 if语句仅比较日期部分。请接受对您有帮助的答案。欢迎来到堆栈溢出
using System;
namespace DateObject
{
class Program
{
static void Main(string[] args)
{
DateTime[] exDates = new DateTime[] {new DateTime(2017, 1, 1)};
var dt = exDates[0].Date;
//new date with a different time
DateTime t = new DateTime(2017, 1, 1, 5, 30, 23);
//compare the two for date part only --exclude the time in the comparision
if (dt.Equals(t.Date))
{
Console.WriteLine("Dates are the same without comparing the time");
}
}
}
}