Español
Fuente/ Codesnippets

Kalenderwoche de Datum berechnen

 

p.specht

In EU-Europa beginnt el Zählung el Wochentage uno (Arbeits-)Semana con Montag = 1. El erste Kalenderwoche es jene, en el überwiegende Zahl de Tagen ya en el laufenden Jahr mentira, si la Neujahrstag Así que una Donnerstag oder später es. Darum kommt en el nachfolgenden Programa el Berechnung des Wochentagsnummer des Neujahrstages besondere Bedeutung a.

Un Edición KW=0 bedeutet entonces, daß el gesuchte Tag todavía a 53. Semana des Vorjahres zählt. Der Algorithmus arbeitet de el 01.01.1583 y es vom Unix-Jahr_2038-Fehler no betroffen.

Zit. Wiki: " Jedes Jahr ha entweder 52 oder 53 Kalenderwochen.
- Ein Normaljahr con 53 Wochen beginnt a una Donnerstag y endet a una Donnerstag.
- Ein Schaltjahr con 53 Wochen beginnt entweder a una Mittwoch y endet a una Donnerstag oder lo beginnt a una Donnerstag y endet a una Freitag.
- - Der 29., 30. y 31. Dezember puede ya a Kalenderwoche 1 des Folgejahres gehören.
- - Der 1., 2. y 3. Januar puede todavía a el letzten Kalenderwoche des Vorjahres gehören."


DIN 1355-1 führte para 1. Januar 1976 una entsprechende Zählweise con Montag como ersten Wochentag en el Alemán Sprachraum una.
Título de la ventana upper$("Europäische Kalenderwochennummer uno cierto Datums")
Ventana de Estilo 24:declarar jahr&,monat&,tag&:font 2'BETA-VERSION OHNE JEDE GEWÄHR!
looop:
CLS:imprimir "\n  Jahr = ";:input jahr&:imprimir " Monat = ";:input monat&
imprimir "   Tag = ";:input tag&:imprimir

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

    casenot SJ(jahr&):imprimir " Kein";:imprimir " Schaltjahr!"
    imprimir " Dieser ";TN(jahr&,monat&,tag&);".Tag des Jahres";
    imprimir " liegt en el ";KW(jahr&,monat&,tag&);".KW";
    caso KW(jahr&,monat&,tag&)=0:imprimir " o. el 53.KW des Vorjahres,";
    imprimir "\n y es el ";WTNr(jahr&,monat&,tag&);".Tag dieser Semana (Zählung beginnt con Mo)."
    imprimir " Lo es son una ";WTStr$(WTNr(jahr&,monat&,tag&));" (";WTsStr$(WTNr(jahr&,monat&,tag&));")"
    resum:
    imprimir:waitinput:goto "Looop"
    FIN

    proc SJ :parámetros jahr&:caso jahr&<1583:volver -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:volver sj&

    ENDPROC

    proc TN :parámetros jahr&,monat&,tag&'TAGNUMMER IM JAHR

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

    ENDPROC

    proc WTNr :parámetros jahr&,monat&,tag&

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

    ENDPROC

    proc WTsStr$ :parámetros WTNr&'WOCHENTAG-shortString

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

    ENDPROC

    proc WTStr$ :parámetros WTNr& :volver substr$(\

        "Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag",WTNr&," ")

    ENDPROC' = WOCHENTAG-NAME

    proc WTNrNJ :parámetros jahr&'WOCHENTAG-Nr_des_Neujahrstages

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

    ENDPROC

    Proc KW :parámetros jahr&,monat&,tag&

        var WT&=WTNrNJ(jahr&)'KALENDERWOCHE
        var WN&=TN(jahr&,monat&,tag&)+WT&-2
        caso WT&<5:WN&=WN&+7
        WN&=int(WN&/7):volver 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


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.404 Views

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

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie