c# - 在 C# 中获取两个 'DateTime' 之间的所有 DateTimes

标签 c# datetime

我有两个 DateTime,我想获取这些日期之间的所有 DateTime。例如,如果我的日期是 01.01.2010 - 05.01.2010,我的函数应该返回一个日期列表 (List),它必须包含 01.01.2010、02.01.2010、03.01.2010、04.01.2010 和2010 年 1 月 5 日。

我写了一个这样的函数。它工作正常,如果我的约会是在一个月内。如果我的日期是 01.01.2010 - 05.02.2010,它就不会工作。因为月份改变了,我的功能无法处理。 C# 中是否有一个函数可以返回两个日期之间的所有日期?或者我该如何处理月份变更?

public void GetAllDatesAndInitializeTickets(DateTime startingDate, DateTime endingDate)
    {
        List<DateTime> allDates = new List<DateTime>();

        int starting = startingDate.Day;
        int ending = endingDate.Day;

        for (int i = starting; i <= ending; i++)
        {
            allDates.Add(new DateTime(startingDate.Year, startingDate.Month, i));
        }

问题已解决,请参阅 Tim Robinson 的简单答案。

最佳答案

您可以在循环中直接使用 DateTime 对象,代替您的 intDateTime.AddDays 正确处理月末。

for (DateTime date = startingDate; date <= endingDate; date = date.AddDays(1))
    allDates.Add(date);

关于c# - 在 C# 中获取两个 'DateTime' 之间的所有 DateTimes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227927/

相关文章:

c# - ASP.NET MVC,modelstate.isvalid 永远不会以这种方式有效

c# - SortDescription 和自动排序顺序刷新

python - 检查两种不同格式的日期是否有效

C# 用户输入字节数组

c# - 您如何手动设置登录身份用户?

Java 8 LocalDate 不会解析有效的日期字符串

date - 应该xsd :date convert for datetimes before common era in SPARQL

date - 将 datetime.now().date() 与 Python 中的日期常量进行比较

mysql - python3计算自上次mysql数据输入以来的分钟数

c# - ObservableCollection 更改后 ListView 未更新