Ich habe das folgende Snippet, das ich verwende, um die einzelnen Daten zwischen zwei Daten zu erhalten:
%Vor%Allerdings der folgende Abschnitt
%Vor%hat keine Monate, um die Monate im Datumsbereich zurückzugeben.
Wenn ich zum Beispiel 1/1/2010 und 6/1/2010 zur Verfügung stelle, würde ich erwarten, 1/1/2010, 2/1/2010, 3/1/2010, 4/1/2010, 5 zurückzukehren / 1/2010 und 6/1/2010.
Irgendwelche Ideen?
Versuchen Sie Folgendes:
%Vor% Dies umfasst sowohl den Startmonat als auch den Endmonat. Dies ermittelt, wie viele Monate es gibt, und erstellt dann ein neues DateTime
basierend auf d0
's Jahr und Monat. Das heißt, die Monate sind wie yyyy-MM-01
. Wenn Sie möchten, dass die Uhrzeit und der Tag von d0
enthalten sind, können Sie new DateTime(d0.Year, d0.Month, 1).AddMonths(m)
durch d0.AddMonths(m)
ersetzen.
Ich sehe, dass Sie ein Array brauchen, in diesem Fall benutzen Sie einfach monthsBetween(..., ...).ToArray()
oder setzen .ToArray()
in die Methode.
Sie könnten Inkremente von Monaten mit:
aufzählen %Vor% und rufen Sie dann ToArray()
auf, wenn Sie ein Array möchten. Es ist ziemlich gut, Werte zu haben, die wahrscheinlich das sind, was man will; z.B. wenn du am 31. Januar startest, bekommst du als nächstes den 28. Februar (oder 29 th auf den Schaltjahren), dann am 31. März > st , dann Apr 30 th und so weiter.
Ist das wonach Sie suchen? Die Anforderung ist sehr mehrdeutig.
%Vor%