Notwendigkeit zum hinzufügen von Tagen zu einem Datum, aber schließen Sie bestimmte Tage aus einem Kalender
Arbeiten in Visual Studio mit C#. Ich mache ein Stück software für ein kleines Büro, zeichnet Klagen. Sobald eine Klage eingefangen, das Büro hat 15 Tage Zeit zum versenden von Dokumenten an das Gericht. So Termin ist in 15 Tagen.
Aber wenn es zum Beispiel, und aktualisieren (update1) auf die Klage, das Amt hat nun eine neue Frist zu senden update1 Dokumente.
So, die deadLine für die Aufnahme ist dd/MM/yyy
Dann Frist für die update1 ist dd/MM/yyyy
Aber ich brauche, um auszuschließen, alle nicht-Arbeits-Tagen, so dass die Termine nicht angezeigt, jegliche nicht-Arbeit Tage. Beispiel:
Capture: 15 Tage
Update1: 5 Tage
Update2: 10 Tage
Update3: 7 Tage
So, wenn ich capture heute, 28 Juli 2011, 15 Tagen sollte Hinzugefügt werden, um die Frist variable, das wäre August 12, aber ich nicht ausschließen Arbeits-Tage aus einem Kalender. Für Beispiel 12 August 2011.
Habe ich drehte den DatePicker-Wert in einen string mit format (dd/MM/yyyy), und ich Vergleiche es mit einer Liste von strings, die nicht gültig Tagen, mit format (TT/MM/JJJJ).
Und, wenn der Stichtag fällt auf einen dieser Tage, die ich konvertieren Frist zu dateTime, fügen Sie 1 Tag, bis es nicht fällt auf einen dieser Tage. Dann speichern Sie die endgültige dateTime-Wert als neuen Termin.
Beispiel:
string DeadLine;
string NonValidDay001 = 12/08/2011;
string NonValidDay001 = 15/08/2011;
string NonValidDay001 = 19/08/2011;
DeadLine = DatePicker01.Value.AddDays(15).ToString("dd/MM/yyyy");
while (DeadLine == NonValidDay001 | DeadLine == NonValidDay001 | DeadLine == NonValidDay001)
{
dateTime dt = Convert.toDateTime(DeadLine);
dt.AddDays(1).ToString("dd/MM/yyyy");
DeadLine = dt;
}
Das problem das ich habe ist, es ist nicht das hinzufügen von Tagen zu der dealine, wenn Termin passt nicht-gültige Tage.
Was ich Tue, ist nicht die Arbeit in irgendeiner Weise.
Könnte jemand mich aufklären bitte. (=
- Sie wollen auch, es zu überspringen, Arbeits-Tagen, wenn die innerhalb der 15 Tage? (nicht nur, wenn das Datum von 15 Tagen nach dem start ist ein Tag der Arbeit)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollte, zu überspringen Arbeits-Tage innerhalb der Frist (also innerhalb der 15 Tage), dann könnten Sie Folgendes verwenden (ungetestet, tippte gerade hier):
Beispiel:
Müssen Sie ändern Sie die folgenden...
zu...
"Die Methode AddDays ändert nicht den Wert des DateTime. Stattdessen gibt es eine neue DateTime, deren Wert das Ergebnis der AddDays-Betrieb."
Für weitere Informationen über eine Funktion für das hinzufügen von Arbeit Tagen ab einem bestimmten Datum finden Sie in der folgenden...
C#: Hinzufügen Werktagen von einem cetain Datum
Die Linie
muss nicht alles erreichen.
DateTime
s sind unveränderlich. Alle, die Zeile tut, ist erstellen Sie eine neueDateTime
und eine neueString
sind nicht referenziert. Ich denke du meinst:Allerdings scheint es ein wenig seltsam, dass Sie
String
s anstatt nurDateTime
s.