Français
Forum

le calendrier-/Datumsberechnung

 

Langer
allô zusammen,

je cherche pour einem Weg aus qui somme qui Tage entre deux Datumswerten qui Wochenenden raus trop le calcul.
z.B. Urlaubsberechnung
de mardi den 4.4.2017 jusqu'à mardi den 11.4.2017 sommes incl. 4. et 11. 8 Tage. Urlaubstage mais seulement 6 là cela Wochenende eh libre ist.
Irgendwie veux es Je ne gelinge hierfür une passende Formel trop erdenken.
Hat quelqu'un déjà einmal so une Berechnung angestellt?

Dirk
 
03.04.2017  
 




p.specht

Gültigkeitszeitraum Gregorianischer le calendrier? ou bien suffisant unser siècle? quelle XProfan-Version (ab X2 gibt es komfortable Funktionen zur Wochentagsberechnung + qui Hilfsfunktion dow() Day of Semaine)

Pour ältere Profanversionen comment 11.2a wäre cela nachstehende Proc peut-être entier brauchbar.
Gruss
Titre de la fenêtre "Direkte Wochentagsermittlung aus Datum"
' Version 1.02_beta, sans chacun Gewähr ou bien garantie
declare là$,dy%,mnth%,fyear%,syear%,kal$,i%,j%,h%,greg%
Fenêtre 424,300
nochmal:
cls rgb(0,100,255)
imprimer
imprimer " Algorithmus " + chr$(34) + "Zeller´s Kongruenz" + chr$(34) + "                  "
imprimer " source: curé Dr.math. Christian Zeller A.D.1882 "
imprimer
imprimer " date [dd.mm.yyyy] = ";
locate 5,24 : input là$
cas là$=» : end
dy%=val(left$(là$,2))
mnth%=val(mid$(là$,4,2))
fyear%=val(mid$(là$,7,4))
syear%=val(mid$(là$,9,2))
imprimer
imprimer

si fyear% > 1582 : greg%=1

elseif fyear% < 1582 : greg%=0

elseif fyear% = 1582

    si mnth%>10 : greg%=1

    elseif mnth%<10 : greg%=0

    elseif mnth%=10

        si dy%>=15 : greg%=1

        elseif dy%<=4 : greg%=0

        d'autre

            greg%=-1

        endif

    endif

endif

kal$=" Julianischer le calendrier 45vChr-4.10.1582  "
cas greg%=1 : kal$=" Gregorianischer le calendrier              "
cas greg%=-1: kal$=" KEIN KALENDER ZUFREFFEND!             "
Imprimer kal$
Imprimer " qui " + str$(dy%)+"."+str$(mnth%)+"."+str$(fyear%)+" fällt sur une ";

si mnth%<3

    mnth%=mnth%+12
    fyear% = fyear%-1
    syear% = syear%-1

endif

h%=-1

si greg%=1

    h%=(dy%+int((mnth%+1)*26/10)+syear%+int(syear%/4)+int( int(fyear%/100) /4) + 5*int(fyear%/100) ) mod 7

elseif greg%=0

    h%=(dy%+int((mnth%+1)*26/10)+syear%+int(syear%/4)+ 5 + 6* int(fyear%/100) ) mod 7

d'autre

    h%=99

endif

si h%=0 : imprimer "Samstag";

elseif h%=1 : imprimer "Sonntag";

elseif h%=2 : imprimer "Montag";

elseif h%=3 : imprimer "Dienstag";

elseif h%=4 : imprimer "Mittwoch";

elseif h%=5 : imprimer "Donnerstag";

elseif h%=6 : imprimer "Freitag";

elseif h%=99: imprimer "        "

    imprimer " pas existierenden la période (à cause de   "
    imprimer " grego. Kalenderreform ausgelassen)";
    d'autre : imprimer " fehlerhaften Eingabewert";

endif

imprimer ".   "
WaitInput
Goto "nochmal"

Im Prinzip ist nämlich de toute façon Einzeltagsbetrachtung annoncé, à cause de qui unregelmäßigen Feiertage, qui aussi encore bundesländerweise verschieden ist. Empfehlenswert: "Kastner: Terminplanung avec Basic sur Commodore" (aniquarisch peut-être?)
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
04.04.2017  
 




Langer
allô p.specht, merci pour deinen poste. cela était encore pas cela quoi je eigentlich meinte.

Mir ist inzwischen qui passende concept gekommen.
Déclarer hWin1&, hButton1&, Ende&, hDate1&, hWin2&, hButton2&, hDate2&, Date&, Tage%, A&, b%
hWin1& = @Créer("Dialog", %hWnd, "1. Urlaubstag", 100, 100, 200, 200)
hDate1& = @Créer("DateEdit", hWin1&, », 10, 50, 100, 24)
hWin2& = @Créer("Dialog", %hWnd, "letzter Urlaubstag", 350, 100, 200, 200)
hButton2& = @Créer("Button", hWin2&, "Ende", 10, 90, 180, 24)
hDate2& = @Créer("DateEdit", hWin2&, », 10, 50, 100, 24)
Claire Ende&

WhileNot Ende&

    WaitInput

    Si @GetFocus(hButton2&)

        Ende& = 1

    EndIf

Endwhile

Def @Date(1) dt("setDate",val(substr$(substr$(@$(1),1," "),-1,".")), val(substr$(substr$(@$(1),1," "),2,".")), val(substr$(substr$(@$(1),1," "),1,".")))
Def @DateDiff(2) dt("DateTimeStr", "dd.mm.yyyy", Date(@$(1))-Date(@$(2)))
Def @DaysBetween(2) val(abs(30-val(substr$(substr$(DateDiff(@$(1),@$(2)),1,"|"),1,"."))))
Var Zeit1$=@GetText $(hDate1&)
Var Zeit2$=@GetText $(hDate2&)
Var d! = dt("SetDate",@GetText $(hDate1&))
Var wtag& = dt("getDoW",d!)
Déclarer wochentag$
Cas wtag& = 1 : wochentag$ = "Montag"
Cas wtag& = 2 : wochentag$ = "Dienstag"
Cas wtag& = 3 : wochentag$ = "Mittwoch"
Cas wtag& = 4 : wochentag$ = "Donnerstag"
Cas wtag& = 5 : wochentag$ = "Freitag"
Cas wtag& = 6 : wochentag$ = "Samstag"
Cas wtag& = 7 : wochentag$ = "Sonntag"
b% = DaysBetween(Zeit1$, Zeit2$)
Tage% = b% + wtag&
Cas Tage% < 7 : A& = 0
Cas Tage% > 7 : A& = 2
Cas Tage% > 14 : A& = 4
Cas Tage% > 21 : A& = 6
Cas Tage% > 28 : A& = 8
Date& = (DaysBetween(Zeit1$, Zeit2$) + 1) - A&
imprimer Zeit1$
imprimer Zeit2$
imprimer
imprimer DaysBetween(Zeit1$, Zeit2$) + 1;" journée(e)"
imprimer
imprimer "der erste journée est un " + wochentag$
imprimer
imprimer "das entspricht ";Date&;"Tagen Urlaub"
A& = 0
waitInput

fehlt maintenant encore qui Feiertagsüberprüfung, mais là hab je aussi déjà une concept. Doit je mais seulement testen.
 
04.04.2017  
 




p.specht

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




ByteAttack
je peux es seulement dir dire comment on es par Excel faire peux.... [...] 

et pour données benutze je qui MWDATE.DLL
 
Website:  [...] 
Facebook:  [...] 
05.04.2017  
 



répondre


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

6.394 Views

Untitledvor 0 min.
Langer05.12.2021
Member 288304905.02.2019
p.specht30.09.2018
Magda02.06.2018
plus...

Themeninformationen

cet Thema hat 3 participant:

Langer (2x)
p.specht (2x)
ByteAttack (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