Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Wochentag durch Datum abfragen?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 28.10.2006, 11:38    Titel: Wochentag durch Datum abfragen? Antworten mit Zitat

Hallo,

kann ich irgendwie abfragen wenn ich z.b. ein datum in einem string oder so gespeichert habe ob das jetzt ein sonntag oder ein donnerstag usw. ist?

danke

mfg Manu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 28.10.2006, 11:49    Titel: Antworten mit Zitat

QBMonFAQ hilft Zunge rausstrecken

http://www.antonis.de/faq/qbmonfaq-dateien/1571472076.html

zwinkern
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 28.10.2006, 12:06    Titel: Antworten mit Zitat

danke,

aber das programm funktioniert nur bis 2005

gibt es auch eins das bis 2010 oder so funktioniert?

danke

mfg Manu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 28.10.2006, 12:42    Titel: Antworten mit Zitat

Wieso? Das geht doch!

Code:

'*******************************************************************
' WEEKDAY2.BAS = Calulates the day of week for a given date
' ============ Berechnet den Wochentag zu einem beliebigen Datum
'
' (c) DOUGLAS LUSHER, 1993
'******************************************************************
'
DECLARE FUNCTION DOW% (InDate$)
'
CLS
'
SELECT CASE DOW%(DATE$)
CASE 0: D$ = "Saturday / Samstag"
CASE 1: D$ = "Sunday / Sonntag"
CASE 2: D$ = "Monday / Montag"
CASE 3: D$ = "Tuesday / Dienstag"
CASE 4: D$ = "Wednesday / Mittwoch"
CASE 5: D$ = "Thursday / Donnerstag"
CASE 6: D$ = "Friday / Freitag"
END SELECT
'
PRINT "Today is "; D$; " , "; DATE$
SLEEP
END
'
'
FUNCTION DOW% (InDate$)
'returns a value representing the day of the week (0 = Saturday, 1 = Sunday,
'2 = Monday, etc) for the date string supplied in the form "MM-DD-YYYY"
'
Month% = (ASC(MID$(InDate$, 1)) - 48) * 10
Month% = Month% + (ASC(MID$(InDate$, 2)) - 48)
Day% = (ASC(MID$(InDate$, 4)) - 48) * 10
Day% = Day% + (ASC(MID$(InDate$, 5)) - 48)
Year% = (ASC(MID$(InDate$, 7)) - 48) * 1000
Year% = Year% + (ASC(MID$(InDate$, 8)) - 48) * 100
Year% = Year% + (ASC(MID$(InDate$, 9)) - 48) * 10
Year% = Year% + (ASC(MID$(InDate$, 10)) - 48)
Year% = Year% + (Month% < 3)
Temp& = (Year% * 365&) + (Year% \ 4) - (Year% \ 100) + (Year% \ 400)
'
SELECT CASE Month%
CASE 1: Temp& = Temp& + 365
CASE 2: Temp& = Temp& + 396
CASE 3: Temp& = Temp& + 59
CASE 4: Temp& = Temp& + 90
CASE 5: Temp& = Temp& + 120
CASE 6: Temp& = Temp& + 151
CASE 7: Temp& = Temp& + 181
CASE 8: Temp& = Temp& + 212
CASE 9: Temp& = Temp& + 243
CASE 10: Temp& = Temp& + 273
CASE 11: Temp& = Temp& + 304
CASE 12: Temp& = Temp& + 334
END SELECT
'
DOW% = (Temp& + Day%) MOD 7
END FUNCTION


Gibt aus: "Today is Saturday/Samstag"

Du musst nur date$ durch das Datum ersetzen, wovon du den wochentag wissen möchtest.

Am besten machst du das dann so:

Code:
'*******************************************************************
' WEEKDAY2.BAS = Calulates the day of week for a given date
' ============ Berechnet den Wochentag zu einem beliebigen Datum
'
' (c) DOUGLAS LUSHER, 1993
'******************************************************************
'
Declare FUNCTION DOW% (day%, month%, year%)
'
CLS
'
SELECT CASE DOW%(5,1,2006)
CASE 0: D$ = "Saturday / Samstag"
CASE 1: D$ = "Sunday / Sonntag"
CASE 2: D$ = "Monday / Montag"
CASE 3: D$ = "Tuesday / Dienstag"
CASE 4: D$ = "Wednesday / Mittwoch"
CASE 5: D$ = "Thursday / Donnerstag"
CASE 6: D$ = "Friday / Freitag"
END SELECT
'
PRINT D$;
SLEEP
END
'
'
FUNCTION DOW% (day%, month%, year%)
'returns a value representing the day of the week (0 = Saturday, 1 = Sunday,
'2 = Monday, etc) for the date string supplied in the form "MM-DD-YYYY"
'
Year% = Year% + (Month% < 3)
Temp& = (Year% * 365&) + (Year% \ 4) - (Year% \ 100) + (Year% \ 400)
'
SELECT CASE Month%
CASE 1: Temp& = Temp& + 365
CASE 2: Temp& = Temp& + 396
CASE 3: Temp& = Temp& + 59
CASE 4: Temp& = Temp& + 90
CASE 5: Temp& = Temp& + 120
CASE 6: Temp& = Temp& + 151
CASE 7: Temp& = Temp& + 181
CASE 8: Temp& = Temp& + 212
CASE 9: Temp& = Temp& + 243
CASE 10: Temp& = Temp& + 273
CASE 11: Temp& = Temp& + 304
CASE 12: Temp& = Temp& + 334
END SELECT
'
DOW% = (Temp& + Day%) MOD 7
END FUNCTION


Ich hab hier einfach die Datumsangabe ohne String gemacht, man kann also ganz einfach DOW(tag, monat, jahr) schreiben.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 28.10.2006, 12:42    Titel: Antworten mit Zitat

Sollte das Prog aus der MonFAQ nicht bis 2450 funzen? verwundert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 28.10.2006, 12:55    Titel: Antworten mit Zitat

Steht jedenfalls darüber grinsen

Einfach austesten, hilft meißten Zunge rausstrecken
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 28.10.2006, 17:33    Titel: Antworten mit Zitat

Ohne viel Kommentar:

http://www.dreael.ch/Deutsch/Download/DatumBerechnung.html

Diese Routinen wandeln ein Datum in eine absolute Anzahl Tage und umgekehrt um. Mit einem MOD 7 hast Du den Wochentag.

Übrigens gerade aktuell: Sommer/Winterzeitwechsel diese Nacht. Habe kürzlich auch in diesem Zusammenhang ein Problem in einem .VBS gelöst, wo es um die Umwandlung von UNIX/Linux-Timestamps ins Microsoft-Format für ein Excel-Sheet ging. Problem übrigens bei Microsoft: lokale Zeit und nicht UTC wie Linux! => Ihr könnt dort also nicht Sonntag 29.10.2006, 02.30 Uhr vor oder nach der Uhrenumstellung unterscheiden! Dies kann bei physikalischen Prozessauswertungen (z.B. die Temperaturkurve eines kontinuierlich abkühlenden Gegenstandes kennt keinen Zeitsprung) durchaus zu einem Problem werden...

Ein Apache-Webserver fügt aus genau diesem Grund immer in "+02:00" bzw. "+01:00" wie in RFC 3339 empfohlen, so dass dort der nächtliche Webseitenbesuch problemlos zugeordnet werden kann.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 29.10.2006, 21:57    Titel: Antworten mit Zitat

danke für die vielen guten antworten

meine idee ist folgende:

einen planersteller

man gibt den monat an bsp. mai

dann werden alle donnerstage und sonntage dieses monates ermittelt mit dem jeweiligen datum.

man kann auch noch spezielle termine einfügen z.b. montag dieser wird dann an der richtigen stelle platziert also z.b.

Monat Mai:

Donnerstag, 01.05.06
Sonntag, 04.05.06
Donnerstag; 08.05.06
Freitag, 09.05.06 'spezieller Termin wird eingefügt
Sontag, 11.05.06
Donnerstag, 15.05.06
...

sowas sollte erstellt werden können.

meine idee ist ein minstrantenplanersteller, da donnerstag und sonntag immer messe ist. am freitag ist z.b. fatima.

ich wäre froh wenn ihr mit helfen könntet

danke

mfg Manu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz