Sie DatePart
mit "ww"
verwenden können, auch. Siehe IBM Knowledge Center:
Datepart (intervalType, inputDateTime)
...
ww: Woche des Jahres (1 bis 53 mit firstDayOfWeek und FirstWeekOfYear die genauen Tage der ersten Kalenderwoche des Bestimmungs Jahr)
In Kombination mit DatePart ("w", inputDateTime)
oder DayOfWeek(inputDateTime)
den Tag der Woche erhalten, können Sie Ihren ersten und letzten Tag der aktuellen Kalenderwoche berechnen.
Function (DateTimeVar inputDateTime)
NumberVar cw := DatePart("ww", inputDateTime);
DateTimeVar first := DateAdd("d", 1 - DayOfWeek(inputDateTime, crMonday), inputDateTime);
DateTimeVar last := DateAdd("d", 7 - DayOfWeek(inputDateTime, crMonday), inputDateTime);
"Week " + ToText(cw) + " (" + ToText(first) + " to " + ToText(last) + ")"
Sie ToText den Format-Strings geben müssen Sie natürlich wollen:
Also für ein bestimmtes Datum (inputDateTime
), würde dies die Formel "RangeWeek" sein.
Beispiel:
Input: "August 23, 2017"
Output: "Week 34 (August 21 to August 27)"
, dass die Dinge einfacher in der Formel macht, wo Sie den Datumsbereich erhalten.
DateTimeVar from := ...;
DateTimeVar to := ...;
NumberVar cw;
NumberVar count := 0;
StringVar output := "";
for cw := DatePart("ww", from) to DatePart("ww", to) do
(
output := output + chr(13) + RangeWeek(DateAdd("d", 7*count, from));
count := count + 1;
);
output
aber wenn Sie die Kalenderwoche 1 März sehen, ist nur 'erste march' assmuming erster Tag der Woche ist' sunday' in der gleichen Art und Weise 2. Woche ist '02 - März 08 - March' .. Sind Sie das sicher mit Ihrer Anforderung? – Siva
Nein, es ist kein bestimmter Monat und ich werde zum Beispiel versuchen, vom 1. März bis zum 15. April zu wählen, so dass es automatisch die 7 Tage erhält, bis es den letzten Tag des Zeitbereichs als mein Beispiel erreicht. – Captain16
ok in diesem Fall Woche 5 sollte von '29. März bis 4. April sein? – Siva