Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi WeekOfTheYear('') anders herum? (https://www.delphipraxis.net/3819-weekoftheyear-anders-herum.html)

Mitchl55 1. Apr 2003 14:23


WeekOfTheYear('') anders herum?
 
Hallo,

gibt es einen Befehl der den WeekOfTheYear(Date) Befehl umkehrt?

Der mir ausgibt welche Tage in der Woche liegen oder welchen Tage in der Woche der Montag im Kalender wäre.

Beipiel: Ich möchte für den Montag in der 13. Woche 2003 wissen welches Datum er hatte.

Antwort: 24.03.2003

Bin der totale Anfänger und bekomme eine Lösung einfach nicht hin.

Danke

Gruß

Mitchl

Mitchl55 2. Apr 2003 17:45

Hab es so versucht... klappt aber nicht 100%ig bei der 1. Woche im Jahr und auch von Woche 50.-53. gibt es Probleme weiß jemand warum?

Überprüfe hierbei nur ob der Tag in der Woche liegt! Wenn ja ist es der Montag!

edit1.text := Woche
edit2.text := Jahr

Delphi-Quellcode:
test := '01.01.'+edit2.text;
   i := -3;

while not ( IntToStr(WeekOfTheYear(strtodate(test)+i)) = edit1.text ) do begin
      i := i + 1;
end;

label3.caption := 'Montag = '+datetostr (strtodate(test)+i+0);
label4.caption := 'Dienstag = '+datetostr (strtodate(test)+i+1);
label5.caption := 'Mittwoch = '+datetostr (strtodate(test)+i+2);
label6.caption := 'Donnerstag = '+datetostr (strtodate(test)+i+3);
label7.caption := 'Freitag = '+datetostr (strtodate(test)+i+4);
label8.caption := 'Samstag = '+datetostr (strtodate(test)+i+5);
label9.caption := 'Sonntag = '+datetostr (strtodate(test)+i+6);

end;
------------------------

gruß

Mitchl55

:coder:

APP 2. Apr 2003 18:42

Hallo,

auf swissdelphicenter.ch ...get the week number of a date? gibt es die Funktion WeekToDate()

[EDIT]
Delphi-Quellcode:
ShowMessage(FormatDateTime('dd.mm.yyyy', WeekToDate(51, 2000))); // liefert das Datum einer gesuchten Woche (51.) eines Jahres
[/EDIT]

Mit
Delphi-Quellcode:
FormatDateTime('dddd', WeekToDate(51, 2000)) // 1. Wochentag der 51. Woche im Jahr 2000
bekommst Du den 1.Wochentag der gesuchten Woche als String zurück,
diesen kannst Du mit Deinem Eingabetag vergleichen, und wenn er nicht der gewünschte ist, einfach den Tag raufzählen.

Mitchl55 4. Mai 2003 01:38

Danke für Deinen Tip!

Gruß

Mitchl

:coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz