Holen Sie sich last/nächste Woche Mittwoch Datum in C#
Wie ich Letzte Woche Mittwoch und nächste Woche Mittwoch Datum in C#:
public Form1()
{
InitializeComponent();
CurrentDate.Text = "Today's Date: " + DateTime.Now.ToString("dd/MM/yyyy");
CurrentRent.Text = "Current Rent Date: "; //last wednesday
NextRent.Text = "Next Rent Date: "; //next wednesday
}
InformationsquelleAutor der Frage methuselah | 2013-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden, der nächste Mittwoch nur halten Sie, hinzufügen von Tagen, bis Sie einen finden. Finden Sie die vorigen Mittwoch, nur halten die Subtraktion von Tagen, bis Sie zu einer.
InformationsquelleAutor der Antwort Servy
DateTime.Now.AddDays(7)
undDateTime.Now.AddDays(-7)
ist, wie können Sie rechnen, vorausgesetzt, Sie sind am Mittwoch. Wenn Sie nicht sind, was Sie tun müssen, ist, verwenden Sie dieDayOfWeek
- Eigenschaft, um zu bestimmen, die Anzahl der Tage (positive und negative), die Sie benötigen würden, um zu bestimmen, welcher Tag ist 'Mittwoch'. Dann übergeben Sie diesen Wert inAddDays
.Zum Beispiel, wenn heute Dienstag war, Sie würde
AddDays(-6)
für letzten Mittwoch undAddDays(8)
für nächsten Mittwoch.Ich lasse Sie die Aufgabe, die Berechnung von denen.
InformationsquelleAutor der Antwort Darren Kopp
Verwenden Sie die AddDays-routine:
Das sollte es tun!
HINWEIS: Wenn es Montag ist, "Letzten Mittwoch" wird Ihnen die sehr letzten Mittwoch aufgetreten, aber "Nächsten Mittwoch" wird Ihnen am Mittwoch, 9 Tage ab jetzt! Wenn Sie wollten, um den Mittwoch in zwei Tagen statt, die Sie benötigen würden, um die " % " - operator. Das bedeutet, dass die zweite "nextweek" - Anweisung zu Lesen "(7 + offsetAmount) % 7".
InformationsquelleAutor der Antwort drew_w
Können Sie hier berechnen:
Beachten Sie, dass, wenn heute Mittwoch ist, dies zeigt
currentRent
wie heute, nichtnextRent
als heute. Wenn Sie möchten, dass dies Umgekehrt, Sie können die Logik umzukehren.InformationsquelleAutor der Antwort Tim S.
Werden Sie wollen, verwenden Sie die
DayOfWeek
enum-zusammen mit einer if-else-Struktur der switch-Anweisung, um zu bestimmen, wie viele Tage zu addieren/subtrahieren für Ihre Termine. Es ist mühsam codieren aber einfach.InformationsquelleAutor der Antwort evanmcdonnal
Dies funktionieren wird. Sie berechnen die Differenz in Tagen zwischen Ihrem angegebenen Termin und der nächste Mittwoch ist, und berechnen Sie letzten/nächsten Mittwoch, basierend auf, ob oder ob nicht die Differenz ist größer als null.
InformationsquelleAutor der Antwort Sean H
Verbesserte Antwort von Servy. Sie brauchen, um tatsächlich die nextWednesday oder lastWednesday Termine, um das neue Datum in der while-Schleife, sonst geht es in eine Endlosschleife
InformationsquelleAutor der Antwort kchap
Könnten Sie 2 DateTime-Erweiterung-Methoden, die verwendet werden können mit einem parameter DayOfWeek:
Können dann wie folgt verwendet werden:
InformationsquelleAutor der Antwort John M
den skipSame variable nicht enthalten ist der aktuelle Tag, wenn es das saem als den gewünschten Tag.
InformationsquelleAutor der Antwort FirstByte
Hier ist ein one-liner, um dasselbe zu erreichen. Es ist etwas irrsinnig, zu verstehen, wie das tatsächlich funktioniert, aber es funktioniert:
Immer nächsten Mittwoch:
Immer am letzten Mittwoch
In beiden Fällen, wird es wieder den Tag, selbst wenn es Mittwoch ist.
Das funktioniert für beliebige Wochentage, nur passen Sie die Anzahl im AddDays () - Aufruf.
Zum Beispiel für Freitag:
Bekommen nächsten Freitag
Immer am letzten Freitag
InformationsquelleAutor der Antwort nepdev