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