AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wochenendtage bestimmen

Ein Thema von seifman · begonnen am 16. Okt 2003 · letzter Beitrag vom 28. Jan 2007
Antwort Antwort
seifman
(Gast)

n/a Beiträge
 
#1

Wochenendtage bestimmen

  Alt 16. Okt 2003, 20:04
Ich benötige einen Algorithmus, welcher mir aus einem bestimmten Zeitraum (z.B. 10.09.2003 bis 05.10.2003) die Tage herausfiltert, die auf einem Wochenende liegen. Es wäre nett, wenn mir jemand dabei helfen könnte.

Um nochmal genauer auf die Funktionsweise einzugehen:
Es soll gezählt werden, wie viele Tage im Zeitraum Werktage sind. Wie ich auf die gesamtzahl der tage komme weiss ich ja, ich komme jedoch nicht auf die Idee wie ich die Wochenendtage bestimmen kann.

danke:
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wochenendtage bestimmen

  Alt 16. Okt 2003, 20:12
Moin seifmann,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Schau Dir mal die Funktionen StrToDate und DayOfWeek an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#3

Re: Wochenendtage bestimmen

  Alt 16. Okt 2003, 20:13
Kannst z.B. die Tage mit EncodeDate/StrToDate... einer Variable(TDateTime) zuweisen und mit DayOfWeek den Wochentag herausfinden.
Und in einer Schleife (z.B. For) kannst'e dann die Tage zählen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#4

Re: Wochenendtage bestimmen

  Alt 16. Okt 2003, 20:33
Also mit DayOfWeek() wird der Tag das Startdatums berechnet. Nun kannst du das Startdatum sehr einfach um die Anzahl Tage erhöhen so das das Datum ein Montag ist. D.h. das Startdatum liegt nun auf einem Wochenanfang. Nun subtrahierst du dieses Startdatum vom Endedatum um die Anzahl der Tage zu bekommen. Diese Anzahl div 7 sind die vollen Wochen, und Anzahl mod 7 die Tage in der Restwoche.
Aus all diesen Fakten lässt sich direkt die Anzahl der Wochentage und Wochendtage errechnen.

Eine Schleife ist also überhaupt nicht nötig und würde im Falle 1.1.1 bis 31.12.2000 auch ziemlich lange benötigen.

Gruß Hagen
  Mit Zitat antworten Zitat
seifman
(Gast)

n/a Beiträge
 
#5

Re: Wochenendtage bestimmen

  Alt 16. Okt 2003, 20:49
Herzlichen Danke an alle für die Hilfe.
Bis bald!
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#6

Re: Wochenendtage bestimmen

  Alt 28. Jan 2007, 09:38
Ich weiß, der Thread ist wirklich urururururalt, aber ich war eben auf der Suche nach einer Möglichkeit, das Anfangs- und Enddatum einer beliebigen Woche anhand eines beliebigen Datums in dieser Woche zu ermitteln. Dabei bin ich über die Funktion
Delphi-Referenz durchsuchenStartOfTheWeek()
gestolpert.

Dabei gilt der ISO-Standard 8601, sprich, Montag ist Tag 1 und Sonntag Tag 7.

Falls irgendwer nochmal das Problem hat..

P.S.: Sehr kompliziert ist die Funktion aber nicht...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz