Forum: Mikrocontroller und Digitale Elektronik Wochentag berechnen -> 0 bis 6


von MaWin (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

In einer Kleinsteuerung (Siemens Logo) will ich den Wochentag berechnen.
(d.h. keine Gleitpunktberechnung)
Dieser muss dann wie folgt aussehen:
Sonntag  = 0
Mittwoch = 3
Samstag  = 6

Ha, einfach dachte ich uns googelte mal:
http://www.straub.as/csharp/basic/Uwochentag.html

Danach entwarf ich in VB.net schnell mal ein Programm (siehe Anhang).

Leider stimmt die Berechnung nicht :-O

Woran liegt es?

Hat jemand eine andere Formel?

von MaWin (Gast)


Lesenswert?

Für alle, denen mein Programm ein Virus darstellt, obwohl in source:
1
   Function GetWeekday(ByVal dayofmonth As Short, ByVal month As Short, ByVal year As Short) As Short
2
3
        Dim h As Short
4
        Dim k As Short
5
6
        If month <= 2 Then
7
            h = month + 12
8
            k = year - 1
9
        Else
10
            h = month
11
            k = year
12
        End If
13
14
15
        GetWeekday = dayofmonth + 2 * h + (3 * h + 3) / 5 + k + k / 4 - k / 100 + k / 400 + 1
16
        GetWeekday = GetWeekday Mod 7
17
18
    End Function

von Harald W. (wilhelms)


Lesenswert?

MaWin schrieb:

> Leider stimmt die Berechnung nicht :-O
>
> Woran liegt es?

Berücksichtigt Deine Formel denn die Besonderheiten des
Gregorjanischen Kalenders?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

MaWin schrieb:
> Leider stimmt die Berechnung nicht :-O

geht nicht gibts nicht.
Bitte mehr Fehlertext (Fehlerbeschreibung)

von MaWin (Gast)


Lesenswert?

Normal schon mit den 100 und 400 Jahren.
Dafür habe ich ja die Formel mithereingestellt.

von MaWin (Gast)


Lesenswert?

Fehlertext:
Wie im Programm ersichtlich, wird ein Datum mit einem DateTimePicker 
vorgegeben.
Es wird aber der falsche Wochentag berechnet.

von nickm (Gast)


Lesenswert?

Wie viel Bit hat denn so ein "short"?

Nick

Beitrag #5970352 wurde von einem Moderator gelöscht.
von MaWin (Gast)


Angehängte Dateien:

Lesenswert?

nickm schrieb:
> Wie viel Bit hat denn so ein "short"?
>
> Nick

Guter Tipp, aber an dem liegts nicht :-(

von Achim H. (anymouse)


Lesenswert?

Short sollte vermutlich mehr als 15 Bit haben (16 mit Vorzeichen).
Könnte, aber muss nicht reichen.

Was macht "/" bei Deiner Sprache (VB.net?) bei Division mit 
Integer-Zahlen?

von MaWin (Gast)


Lesenswert?

Achim H. schrieb:
> Short sollte vermutlich mehr als 15 Bit haben (16 mit Vorzeichen).
> Könnte, aber muss nicht reichen.
>
> Was macht "/" bei Deiner Sprache (VB.net?) bei Division mit
> Integer-Zahlen?

Das gleiche wie in C#.
Habe es mit diversen Datentypen durchgekaut.

von Elias K. (elik)


Lesenswert?

Wo hast du die Formel her? In den Formeln bei Wikipedia taucht idR eine 
2.6 als Faktor auf, um die Monate zu berechnen. Wie funktioniert das bei 
deiner Formel?
https://de.wikipedia.org/wiki/Wochentagsberechnung

MaWin schrieb:
> Es wird aber der falsche Wochentag berechnet.
Kannst du bitte einige Beispiele geben? (Datum - Soll - Ist)

von MaWin (Gast)


Lesenswert?

Achim H. schrieb:
> Short sollte vermutlich mehr als 15 Bit haben (16 mit Vorzeichen).
> Könnte, aber muss nicht reichen.
>
> Was macht "/" bei Deiner Sprache (VB.net?) bei Division mit
> Integer-Zahlen?

Du bist mein Held.
DAS war doch der entscheidende Hinweis.
div ist in vb nämlich \ und nicht /
Dankeschön nochmals.

Beitrag #5970365 wurde von einem Moderator gelöscht.
von MaWin (Gast)


Lesenswert?

Das wird ja immer munterer hier mit den Psychopathen die MaWin ins 
Namensfeld schreiben. Nun outen sie sich als VB Programmierer die kein 
VB können, Nun ja, die Namensschummelei werden die meisten schon bemerkt 
haben.

Beitrag #5970417 wurde von einem Moderator gelöscht.
von Harald W. (wilhelms)


Lesenswert?

MaWin schrieb:

> Das wird ja immer munterer hier mit den Psychopathen die MaWin ins
> Namensfeld schreiben.

Wer sagt Dir denn, das es ausser Dir nicht noch andere Personen
gibt, die die gleiche Buchstabenkombination als Namen haben?

von Joachim B. (jar)


Lesenswert?

Harald W. schrieb:
> Wer sagt Dir denn, das es ausser Dir nicht noch andere Personen
> gibt, die die gleiche Buchstabenkombination als Namen haben?

vermutlich postet hier nun der Ex Vorstandsvorsitzende von VW & Porsche,

VB könnte passen, eher als µC

von MaWin (Gast)


Lesenswert?

Harald W. schrieb:
> Wer sagt Dir denn, das es ausser Dir nicht noch andere Personen
> gibt, die die gleiche Buchstabenkombination als Namen haben

Der gesunde Menschenverstand sagt, dass er das nicht in der Form 
abgekürzt schreiben würde.
Hast du keinen ?

Beitrag #5970646 wurde von einem Moderator gelöscht.
Beitrag #5970649 wurde von einem Moderator gelöscht.
Beitrag #5970678 wurde von einem Moderator gelöscht.
Beitrag #5970965 wurde von einem Moderator gelöscht.
Beitrag #5971249 wurde von einem Moderator gelöscht.
Beitrag #5971287 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.