Wochentag benötigt! [Gelöst]
Übersicht

MCocktailBetreff: Wochentag benötigt! [Gelöst] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Ich brauche Wochentage für ein spezielles Programm(einen Kalender), hab aber leider nichts(Funktionen) gefunden hat ihr eine Idee? Danke fürs Antworten! |
||
- Zuletzt bearbeitet von MCocktail am So, Jan 06, 2013 17:36, insgesamt einmal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was genau brauchst du? Für ein bestimmtes Datum den entsprechenden Wochentag? | ||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist ganz einfach....
du musst nur einen Unix-Timestamp haben oder erzeugen. Dann mod 7 und danach steht jedes Ergebniss für einen best. Wochentag. Unix-Timestamps kriegt man über Betriebssystemfunktionen oder Internet oder man coded sie selbst ich habe da mal ein BMax-Beispiel. Daraus kannst du sicherlich was in BB zaubern: BlitzMax: [AUSKLAPPEN] Function JulianDays%(txt$) |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
- Zuletzt bearbeitet von Midimaster am Sa, Jan 05, 2013 16:27, insgesamt 2-mal bearbeitet
MCocktail |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Holzchopf hat Folgendes geschrieben: Was genau brauchst du? Für ein bestimmtes Datum den entsprechenden Wochentag?
Den Wochentag. |
||
MCocktail |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Omg verstehst du auch andere Sprachen? Ich verstehe BMax kein bisschen. | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja,.. die Formel dürfte so gut wie keinen speziellen BMax Code enthalten. Möglicherweise läuft es sofort in BB los...
Vielleicht liest Du es erst mal durch? Die Formel will einen Datumstring in der Form "DD.MM.JJJJ" jeweils mit Zahlen und gibt dir dann eine Zahl zurück. |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
MCocktail |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Midimaster hat Folgendes geschrieben: Die Formel will einen Datumstring in der Form "DD.MM.JJJJ" jeweils mit Zahlen und gibt dir dann eine Zahl zurück. Nun ja, eigentlich wollte ich den wochentag wissen. |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst aus der Zahl mittels Select![]() ![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
also nochmal... die Funktion liefert für jedes Datum eine Zahl zurück. Wenn du diese Zahl jetzt
W= Zahl MOD 7 rechnest, dann ist W nur noch eine Zahl zwischen 0 und 6. Jedes dieser Ergebnisse steht dann für einen Wochentag 0=Mo 1=DI 2=Mi ...usw BlitzBasic: [AUSKLAPPEN] Zahl%= JulianDays("05.01.2013") |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
UnixZeit ist das aber nicht, denn das sind sekunden seit 1970, und das mod 7 wäre vieles, aber kein Wochentag. | ||
MCocktail |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Achso! Bin wohl ganz durcheinander. ![]() Aber sonst,Danke! ![]() |
||
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Stimmt. mir war so, als wäre das tatsächlich die falsche idee, mod 7 auf unixzeit zu verwenden.
Wenn ich grob überschlage, war der 1.1.1970 ein donnerstag, unixzeit müsste um 00:00 begonnen haben. ergo: Minuten =(Zeit / 60) Stunden = (minuten / 60) Tage = (stunden / 24) Tag = (tage mod 7) -> 0 = donnerstag, 1 = freitag, 2 = samstag, 3 = sonntag, 4 = montag, 5 = dienstag, 6 = mittwoch. Oder irre ich mich da? |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja klar... wen er Unix nimmt, muss er erst noch nach "tage" runterrechnen.
Wenn er aber die kleine formel oben verwendet kann er bereits jetzt ein datum eingeben und so eine art "Julian"-Timestamp bekommen. Im Grunde ist es ja egal, was man als Basis nimmt. Hauptsache es handelt sich um ein Zahl, die sich täglich um 1 erhöht. |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist korrekt, allerdings ist es ebenso korrekt dass Du ihm den UnixTimestamp empfohlen hast und dann den julianischen Kalender benutzt ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
MCocktail |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Immerhin funktionierts, wenn ich zum ergebnis von JulianDays() 3 addiere dann hab ich dieses
0=Montag... Prinzip. Also: gelöst! |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist ja seltsam....
wenn ich... BlitzBasic: [AUSKLAPPEN] Print JulianDays("06.01.2013") Mod 7 ...eingeben erhalte ich 6, also "Sonntag" das wäre jetzt schon korrekt ohne dass man 3 dazuzählen muss... seltsam! |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
MCocktail |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmm wirklich seltsam denn bei mir geht es erst wenn man 3 dazuzählt... ![]() |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
welches datum?
formel kopiert? oder abgeschrieben? vielleicht hast du verseherntlich noch im string 2012 stehen? |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
MCocktail |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
abgeschrieben und verändert:
BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
na, also ich seh den Fehler schon....
wirf mal ein paar DEBUGLOG ein. z.b. print "IST DAS WIRKLICH JANUAR? m=" + m ![]() die schöne Funktion so zu zerstören. Mensch! Lösch die bloß schnell wieder hier raus, sonst übernimmt die jemand später mal so. Fehler-Vermeiden-Tutorial: Wenn eine Formel nicht so arbeitet wie erwartet, dann such den Fehler und bau nicht einen zweiten Fehler ein, bis es scheinbar wieder stimmt.... Die Original-Formel ist fehlerfrei und erwartet ein Datum in Form von DD.MM.JJJJ oder auch D.M.JJ. Hättest Du nur ein paar Tests mit verschiedenen Datums ![]() So wäre es richtig: Aus CurrentDate() einen gültigen String D.M.JJ mit einer eigenen Funktion erstellen. Diese neue Funktion prüfen, prüfen, prüfen... Dann das Ergebniss an JulianDays() weiterreichen. Den ReturnWert an die Funktion WochenTag() senden. So geht Technik! |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group