Français
Source/ Codesnippets

Kalenderwoche aus date berechnen

 

p.specht

dans EU-Europa beginnt qui Zählung qui Wochentage einer (Arbeits-)semaine avec lundi = 1. la première Kalenderwoche ist celui-là, chez qui qui überwiegende numéro de Tagen bereits im laufenden l'an liegen, si qui Neujahrstag alors un jeudi ou bien später ist. tout autor venez im nachfolgenden Programme qui Berechnung des Wochentagsnummer des Neujahrstages besondere signification trop.

une Ausgabe KW=0 bedeutet ensuite, qui qui gesuchte journée encore zur 53. semaine des Vorjahres zählt. qui Algorithmus arbeitet ab dem 01.01.1583 et ist vom Unix-Jahr_2038-faute pas betroffen.

Zit. Wiki: " chaque l'an hat entweder 52 ou bien 53 Kalenderwochen.
- un Normaljahr avec 53 Wochen beginnt à einem jeudi et endet à einem jeudi.
- un Schaltjahr avec 53 Wochen beginnt entweder à einem mercredi et endet à einem jeudi ou bien es beginnt à einem jeudi et endet à einem vendredi.
- - qui 29., 30. et 31. décembre peut déjà zur Kalenderwoche 1 des Folgejahres gehören.
- - qui 1., 2. et 3. janvier peut encore trop qui letzten Kalenderwoche des Vorjahres gehören."


DIN 1355-1 führte zum 1. janvier 1976 une entsprechende Zählweise avec lundi comme ersten Wochentag im deutschen Sprachraum un.
Titre de la fenêtre upper$("Europäische Kalenderwochennummer eines certain Datums")
Fenêtre Style 24:declare jahr&,monat&,tag&:font 2'BETA-VERSION OHNE JEDE GEWÄHR!
looop:
CLS:imprimer "\n  l'an = ";:input jahr&:imprimer " mois = ";:input monat&
imprimer "   journée = ";:input tag&:imprimer

si WTNr(jahr&,monat&,tag&)<1:imprimer " Eingabefehler! (Jahr<1583 o.ähnl.)":goto "resum":endif

    casenot SJ(jahr&):imprimer " Kein";:imprimer " Schaltjahr!"
    imprimer " cette ";TN(jahr&,monat&,tag&);".journée des Jahres";
    imprimer " liegt dans qui ";KW(jahr&,monat&,tag&);".KW";
    cas KW(jahr&,monat&,tag&)=0:imprimer " bzw. qui 53.KW des Vorjahres,";
    imprimer "\n et ist qui ";WTNr(jahr&,monat&,tag&);".journée cette semaine (Zählung beginnt avec Mo)."
    imprimer " Es handelt sich um une ";WTStr$(WTNr(jahr&,monat&,tag&));" (";WTsStr$(WTNr(jahr&,monat&,tag&));")"
    resum:
    imprimer:waitinput:goto "Looop"
    FIN

    proc SJ :parameters jahr&:cas jahr&<1583:return -1'SCHALTJAHR

        var sj&=0:ifnot jahr& mod 4:sj&=1:ifnot jahr& mod 100:sj&=0
        casenot jahr& mod 400:sj&=1:endif:endif:return sj&

    endproc

    proc TN :parameters jahr&,monat&,tag&'TAGNUMMER IM JAHR

        cas (jahr&<1583) or (monat&<1) or (monat&>12):return -1
        var tn&=val(substr$("0 31 59 90 120 151 181 212 243 273 304 334 365",monat&," "))+tag&
        cas monat&<3:return tn&:cas SJ(jahr&):inc tn&:return tn&

    endproc

    proc WTNr :parameters jahr&,monat&,tag&

        cas jahr&<1583:return -1'WOCHENTAG-Nr
        var WTNrNJ&=WTNrNJ(jahr&)
        var TN&=TN(jahr&,monat&,tag&)
        var WTNr& = ( ((TN&-1) mod 7)+(WTNrNJ&-1)) mod 7 + 1
        return WTNr&

    endproc

    proc WTsStr$ :parameters WTNr&'WOCHENTAG-shortString

        return substr$("Mo Di Mi Do Fr Sa So",WTNr&," ")

    endproc

    proc WTStr$ :parameters WTNr& :return substr$(\

        "Montag mardi mercredi jeudi vendredi samedi Sonntag",WTNr&," ")

    endproc' = WOCHENTAG-NAME

    proc WTNrNJ :parameters jahr&'WOCHENTAG-Nr_des_Neujahrstages

        cas jahr&<1583:return -1:var AJ&=jahr&-1201
        var WT&=1+AJ&+int(AJ&/4)-int(AJ&/100)+int(AJ&/400)
        WT&=WT& mod 7: cas wt&=0:wt&=7:return WT&' 1="Montag"

    endproc

    Proc KW :parameters jahr&,monat&,tag&

        var WT&=WTNrNJ(jahr&)'KALENDERWOCHE
        var WN&=TN(jahr&,monat&,tag&)+WT&-2
        cas WT&<5:WN&=WN&+7
        WN&=int(WN&/7):return WN&

    endproc

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
20.05.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.407 Views

Untitledvor 0 min.
Karl von Weizen vor 18 Tagen
Hans Neff24.01.2023
Rschnett06.08.2022
p.specht31.07.2022
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie