Español
Foro

Kalender-/Datumsberechnung

 

Langer
¡Hola zusammen,

Yo búsqueda una Weg de el Summe el Tage zwischen zwei Datumswerten el Wochenenden fuera a rechnen.
z.B. Urlaubsberechnung
de Dienstag el 4.4.2017 a Dienstag el 11.4.2017 son incl. 4. y 11. 8 Tage. Urlaubstage aber sólo 6 como el Wochenende eh frei es.
Irgendwie voluntad lo No gelinge esta una passende Formel a erdenken.
Sombrero alguien ya una vez así una Berechnung angestellt?

Dirk
 
03.04.2017  
 




p.specht

Gültigkeitszeitraum Gregorianischer Kalender? Oder genügt unser Jahrhundert? Welche XProfan-Versión (de X2 hay komfortable Características a Wochentagsberechnung + el Hilfsfunktion dow() Day of Week)

Für ältere Profanversionen como 11.2a wäre el nachstehende Proc tal vez bastante brauchbar.
Gruss
Título de la ventana "Direkte Wochentagsermittlung de Datum"
' Versión 1.02_beta, sin jede Gewähr oder Garantie
declarar como$,dy%,mnth%,fyear%,syear%,kal$,i%,j%,h%,greg%
Ventana 424,300
otra vez:
cls rgb(0,100,255)
imprimir
imprimir " Algorithmus " + chr$(34) + "Zeller´s Kongruenz" + chr$(34) + "                  "
imprimir " Quelle: Pfarrer Dr.math. Christian Zeller A.D.1882 "
imprimir
imprimir " Datum [dd.mm.yyyy] = ";
locate 5,24 : input como$
caso como$="" : end
dy%=val(left$(como$,2))
mnth%=val(mid$(como$,4,2))
fyear%=val(mid$(como$,7,4))
syear%=val(mid$(como$,9,2))
imprimir
imprimir

if fyear% > 1582 : greg%=1

elseif fyear% < 1582 : greg%=0

elseif fyear% = 1582

    if mnth%>10 : greg%=1

    elseif mnth%<10 : greg%=0

    elseif mnth%=10

        if dy%>=15 : greg%=1

        elseif dy%<=4 : greg%=0

        más

            greg%=-1

        endif

    endif

endif

kal$=" Julianischer Kalender 45vChr-4.10.1582  "
caso greg%=1 : kal$=" Gregorianischer Kalender              "
caso greg%=-1: kal$=" KEIN KALENDER ZUFREFFEND!             "
Imprimir kal$
Imprimir " Der " + str$(dy%)+"."+str$(mnth%)+"."+str$(fyear%)+" fällt en una ";

if mnth%<3

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

endif

h%=-1

if 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

más

    h%=99

endif

if h%=0 : imprimir "Samstag";

elseif h%=1 : imprimir "Sonntag";

elseif h%=2 : imprimir "Montag";

elseif h%=3 : imprimir "Dienstag";

elseif h%=4 : imprimir "Mittwoch";

elseif h%=5 : imprimir "Donnerstag";

elseif h%=6 : imprimir "Freitag";

elseif h%=99: imprimir "        "

    imprimir " no existierenden Zeitraum (wegen   "
    imprimir " grego. Kalenderreform ausgelassen)";
    más : imprimir " fehlerhaften Eingabewert";

endif

imprimir ".   "
WaitInput
Goto "nochmal"

Im Principio es nämlich ohnehin Einzeltagsbetrachtung angesagt, wegen el unregelmäßigen Feiertage, el auch todavía bundesländerweise verschieden es. Empfehlenswert: "Kastner: Terminplanung con Basic en Commodore" (aniquarisch tal vez?)
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
04.04.2017  
 




Langer
¡Hola p.specht, danke para deinen Post. Das war todavía no el Yo eigentlich meinte.

Mir es inzwischen el passende Concepto gekommen.
Declarar hWin1&, hButton1&, Ende&, hDate1&, hWin2&, hButton2&, hDate2&, Date&, Tage%, A&, b%
hWin1& = @Crear("Dialog", %hWnd, "1. Urlaubstag", 100, 100, 200, 200)
hDate1& = @Crear("DateEdit", hWin1&, "", 10, 50, 100, 24)
hWin2& = @Crear("Dialog", %hWnd, "letzter Urlaubstag", 350, 100, 200, 200)
hButton2& = @Crear("Button", hWin2&, "Ende", 10, 90, 180, 24)
hDate2& = @Crear("DateEdit", hWin2&, "", 10, 50, 100, 24)
Claro Ende&

Sinestar encargado Ende&

    WaitInput

    If @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 Tiempo1$=@GetText $(hDate1&)
Var Tiempo2$=@GetText $(hDate2&)
Var d! = dt("SetDate",@GetText $(hDate1&))
Var wtag& = dt("getDoW",d!)
Declarar wochentag$
Case wtag& = 1 : wochentag$ = "Montag"
Case wtag& = 2 : wochentag$ = "Dienstag"
Case wtag& = 3 : wochentag$ = "Mittwoch"
Case wtag& = 4 : wochentag$ = "Donnerstag"
Case wtag& = 5 : wochentag$ = "Freitag"
Case wtag& = 6 : wochentag$ = "Samstag"
Case wtag& = 7 : wochentag$ = "Sonntag"
b% = DaysBetween(Tiempo1$, Tiempo2$)
Tage% = b% + wtag&
Case Tage% < 7 : A& = 0
Case Tage% > 7 : A& = 2
Case Tage% > 14 : A& = 4
Case Tage% > 21 : A& = 6
Case Tage% > 28 : A& = 8
Date& = (DaysBetween(Tiempo1$, Tiempo2$) + 1) - A&
imprimir Tiempo1$
imprimir Tiempo2$
imprimir
imprimir DaysBetween(Tiempo1$, Tiempo2$) + 1;" Tag(e)"
imprimir
imprimir "der erste Tag es una " + wochentag$
imprimir
imprimir "das entspricht ";Date&;"Tagen Urlaub"
A& = 0
waitInput

fehlt ahora todavía el Feiertagsüberprüfung, aber como tener Yo auch ya una Concepto. ¿Es aber sólo 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
Puedo lo sólo dir sagen cómo lo por Excel hacer kann.... [...] 

Und para Daten benutze Yo el MWDATE.DLL
 
Website:  [...] 
Facebook:  [...] 
05.04.2017  
 



Respuesta


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

6.391 Views

Untitledvor 0 min.
Langer05.12.2021
Member 288304905.02.2019
p.specht30.09.2018
Magda02.06.2018
Más...

Themeninformationen

Dieses Thema ha 3 subscriber:

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