如何查找日期的一个月的遗骸日期?

时间:2015-02-07 08:13:06

标签: c#

我有一个约会' 2015-01-25'。如何获得2015年1月的遗骸日期。在c#中是否有任何内置函数来实现这一点 仍然是几天,即“2015-01-26' 2015-01-27',' 2015-01-28',' 2015-01 -29'' 2015年1月30日'' 2015年1月31日'等。

3 个答案:

答案 0 :(得分:1)

立即获取

var today = DateTime.Now;

获取下个月的第一天

var firstDayNextMonth = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(1).Month, 1);

创建今天和下个月第一天之间的日期列表(Enumerable.Range)循环浏览列表并通过将每个int添加到今天将其转换为日期(选择)

var dates = Enumerable.Range(0, firstDayNextMonth.Subtract(today).Days + 1)
                      .Select(d => today.AddDays(d))
                      .ToList();

答案 1 :(得分:0)

您可以使用DateTime.DaysInMonth(year, month)获取以月为单位的总天数,并减去当月的当天。

DateTime someDate = new DateTime(2015,1,25);
var remaining = DateTime.DaysInMonth(2015, 1) - someDate.Day;

然后您知道该给定月份的剩余天数,并可以使用for循环在列表中设置剩余日期。

List<DateTime> remainingDays = new List<DateTime>();
for (int i = 1; i <= remaining; i++)
{
    remainingDays.Add(someDate.AddDays(i));
}

答案 2 :(得分:0)

如果您想查找下个月的剩余天数,那么您可以在当前DateTime循环中添加一天,并检查新DateTime的月份是否与您的月份相同。如果新DateTime符合条件,则将其添加到列表中。如果没有,那么打破循环。

您将使用DateTime.AddDays()方法返回一个新的DateTime,该方法会将指定的天数添加到此实例的值中。

DateTime myDateTime = new DateTime(2015, 1, 25);

var remainedDateTimesToNextMonth = new List<DateTime>();
var nextDay = myDateTime;

while(true)
{
    nextDay = nextDay.AddDays(1);
    if (nextDay.Month == myDateTime.Month)
    {
        remainedDateTimesToNextMonth.Add(nextDay);
    }
    else break;
}

结果在remainedDateTimesToNextMonth列表中有六个项目:

  

2015-01-262015-01-272015-01-282015-01-292015-01-302015-01-31