2015-02-07 104 views
-2

我有一個日期'2015-01-25'。如何獲得2015年1月的遺骸日期。是否有任何內置的函數來實現這個在c# 仍然天,即'2015-01-26','2015-01-27','2015-01-28', '2015-01-29','2015-01-30','2015-01-31'等。如何從日期找到一個月的遺體日期?

+0

你是什麼意思的「遺骸日期」?你真的有這個'DateTime'嗎? – 2015-02-07 08:14:07

+0

@喬恩飛碟雙向,雅安2015年1月25日「是一個DATETIME日期 – 2015-02-07 08:17:37

+0

和「遺體日期」?該月剩餘的天數?包括或不包括日期本身?注意你是如何得到不同的答案,理解你的問題不同,這表明你的問題不清楚... – 2015-02-07 08:19:11

回答

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; 
} 

和INT的結果都會有六個項目裏面remainedDateTimesToNextMonth列表:

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

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)); 
} 
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(); 
+0

請更新更多的細節你的答案所以它會有助於未來的讀者。 – Hemang 2015-02-07 09:19:07

相關問題