Ich habe das folgende Snippet, das ich verwende, um die einzelnen Termine zwischen zwei Daten zu erhalten:Reihe von Monaten zwischen zwei Terminen
DateTime[] output = Enumerable.Range(0, 1 + endDate.Subtract(startDate).Days)
.Select(offset => startDate.AddDays(offset))
.ToArray();
jedoch dem folgenden Abschnitt
endDate.Subtract(startDate).Days
kein habe .Monate, um die Monate im Datumsbereich zurückzugeben.
Zum Beispiel, wenn ich 1/1/2010 und 6/1/2010 bereitstellen würde ich erwarten, 1/1/2010, 2/1/2010, 3/1/2010, 4/1/2010 zurückzukehren, 01.05.2010 und 01.06.2010
Irgendwelche Ideen?
Wie würde ein 'Monate' Eigentum funktionieren? Wie würde es wissen, welche Tage des Monats verwendet werden? Nach der Subtraktion bleibt nur noch eine TimeSpan übrig, die datumsneutral ist und somit nichts über die zu verwendenden Monate weiß. –
mögliches Duplikat von [Differenz in Monaten] (http: // stackoverflow.com/questions/1525990/Differenz in Monaten) –
'.Days' gibt die ** Anzahl der Tage ** im Intervall zurück, nicht die tatsächlichen Tage. Wie definieren Sie die Tatsache, dass "* ein Monat zwischen 2 Daten *" liegt? Der Monat hat ** mindestens 1 Tag ** in diesem Intervall? Der Monat hat ** alle Tage ** im Intervall? Wie müssen Sie einen Monat mit einer 'DateTime'-Struktur darstellen? - als 1. des Monats? – CyberDude