创建没有时间部分的DateTime数组

时间:2016-12-14 18:53:28

标签: c# datetime

我创建了一个DateTime对象数组。但是,默认情况下,这样做时,数组会获得时间部分。我需要将其删除以与另一个日期进行比较,该日期仅为“dd / MM / yyyy”格式。

创建数组:

DateTime[] exclusionDates = new DateTime[] { new DateTime(2017, 1, 1) };

我正在尝试将其与

进行比较
monthlyCalendar.SelectionEnd.Date == excluHarry[0].Date

如何删除数组元素的时间部分?

感谢。

2 个答案:

答案 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");
            }
        }
    }
}