Français
Comprend

date et l'heure berechnen 2

 
- page 1 -



Clemens
Meier
allô zusammen,

je benutze XProfan seulement wieder depuis un paire Tagen, um pour une ami un Geburtstagsgeschenk trop bricoler. Dabei fiel mir sur, dass dans XProfan si bien comment aucun date- et Uhrzeitfunktionen pour trouver sommes. on bekommt zwar cela aktuelle date et qui aktuelle l'heure, doch cela était es déjà. rien avec berechnen, comparer ou bien ähnliches. et là je aussi encore un begeisterter PHPler suis, qui Dinge comment date et mktime kennt, habe je la fois tour gesetzt et beides pour XProfan comme include-Dossier realisiert.

j'ai allerdings un paire Stunden gebraucht, weil beim Testen spezieller Sonderfälle toujours wieder kleinere Probleme auftauchten, qui hoffentlich eh bien alle beseitigt sommes.

Gültigkeitsbereich: 1970 jusqu'à 2099
Sommerzeit et GMT wird pas berücksichtigt (wäre seulement important, si on sur den calculateur hinaus Zeiten comparer muss)

Angaben de Monats- et Wochentagsnamen sommes dans allemande. Wochennummern pour ISO (ächz, était pas léger). et naturellement peux on dedans qui mktime - Funktion aussi le calcul et qui Funktion übernimmt qui Correction qui données (Beispiel siehe beiliegender datumuhrzeit.prf). Weiteres siehe hinweis.txt dans qui Zip-Dossier.

je hoffe, es peux gebraucht volonté et je suis mich sur un Feedback

Salut

Clemens

4 kB
Hochgeladen:16.03.2006
Downloadcounter493
Download
 
XProfan 9.1; XP SP2; FF; Editpad
16.03.2006  
 



 
- page 1 -


oui, im deutschen le calendrier beginnt la première semaine avec qui semaine trop zählen, qui mindestens 4 Tage hat. par cet Verschieberei peux es dans einem l'an sogar 53 Wochen donner - es doit alors aussi cela Vorjahr avec beachtet volonté, si le erste semaine pas chez 1 beginnt (Entscheidung: 52. od. 53. semaine des Vorjahres).

[quote-part:0bf01e8fa7=Clemens Meier]et là je aussi encore un begeisterter PHPler suis[/quote-part:0bf01e8fa7]
ensuite exposition Dir aussi la fois cela Codesnippet unix time PHP à.

Ansätze pour date et Zeitberechnungen findest Du sur qui Suchfunktion, es donnais là déjà quelques Sachen.

peut-être entsteht oui doch encore la fois un kompletter phrase à date-/Zeitroutinen.

belle Grüße
Michael Wodrich
 
16.03.2006  
 




Jac
de
Lad
allez prima, hab jusqu'à maintenant aucun faute entdecken peut.

@Frank: là hätte je Parcival alors aussi im Wettbewerb posten peut??? allez cela maintenant aussi encore, quoique je déjà so viel hin- et hergepostet hab???

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
17.03.2006  
 




Frank
Abbing
bien sûr, Jac. Wüsste pas, quoi dagegen parler sollte.
 
17.03.2006  
 




ByteAttack
bof! je sais maintenant vraie pas woran es liegt, mais qui Include hängt sich sur, sobald qui 31.12.2007 ins Spiel venez.
s'il te plaît la fois essayer:
 $I date.inc
Déclarer mois%,journée%,l'an%,temp$
Fenêtre Style 26
Titre de la fenêtre date.inc Test
Fenêtre 0,0-%maxx,%maxY
Erster Test
monat%=12
tag%=31
jahr%=2008
temp$=un journée später comme qui +str$(journée%)+.+Str$(mois%)+.+Str$(l'an%)+ ist qui:
imprimer temp$+Ins$(.,Ins$(.,fdate(%d%m%Y,mktime(0,0,0,mois%,journée%+1,l'an%)),3),6) +1journée
Zweiter Test
jahr%=2007
temp$=un journée später comme qui +str$(journée%)+.+Str$(mois%)+.+Str$(l'an%)+ ist qui:
imprimer temp$+Ins$(.,Ins$(.,fdate(%d%m%Y,mktime(0,0,0,mois%,journée%+1,l'an%)),3),6) +1journée
waitmouse
 
Website:  [...] 
Facebook:  [...] 
30.10.2007  
 




GDL
Gültigkeitsbereich: 1970 jusqu'à 2099

Sniff, suis aba 61 née.

salut
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
30.10.2007  
 




Dieter
Zornow
chez mir stimmt einiges pas beim Test z.B. jetziges date et l'heure avant 100 Stunden venez chez mir
01.01.1970 00.00:00, cela Beispiel de Marc ist aussi daneben.

Salut aus Bangkok

Dieter

21 kB
Hochgeladen:31.10.2007
Downloadcounter483
Download
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
31.10.2007  
 




ByteAttack
bof, je crois avec qui MWDATE.DLL ist on besser tour. (allez bloß malheureusement seulement sous Profan ab Version 10)
 
Website:  [...] 
Facebook:  [...] 
31.10.2007  
 




Michael
Wodrich
Marc-Gordon
bof, je crois avec qui MWDATE.DLL ist on besser tour. (allez bloß malheureusement seulement sous Profan ab Version 10)


ensuite doit je mich là wohl doch encore la fois dransetzen?

qui Includedatei peux so angepasst volonté, cela aussi frühere Versionen avec cela bien sûr venons (ensuite tomber quelques dans qui Include programmierte Dinge weg; ou bien volonté umgeschrieben).

je werds mir nochmal dans qui ToDo-liste mettons...

belle Grüße
Michael Wodrich

P.S.: qui DLL commence chez 1600 à (à cause de Schaltjahr-Gedöns). je personnelle kenne keinen plus personnelle, qui auparavant née wurde.
 
Programmieren, das spannendste Detektivspiel der Welt.
31.10.2007  
 



 
- page 2 -



Frank
Abbing

P.S.: qui DLL commence chez 1600 à (à cause de Schaltjahr-Gedöns). je personnelle kenne keinen plus personnelle, qui auparavant née wurde.


[web]https://de.wikipedia.org/wiki/Gregorianischer_Kalender[/web]
 
31.10.2007  
 



Frank Abbing
Frank Abbing
P.S.: qui DLL commence chez 1600 à (à cause de Schaltjahr-Gedöns). je personnelle kenne keinen plus personnelle, qui auparavant née wurde.


[web]https://de.wikipedia.org/wiki/Gregorianischer_Kalender[/web]


quoi hat cela une avec dem Anderen trop 1faire?
 
31.10.2007  
 




Michael
Wodrich
cela était un Wink avec dem Zaunpfahl.

cela Schaltjahr-Gedöns était un richtige Kalenderreform - un Krimi:
pape Gregor stiehlt qui ganzen monde 10 Tage.

Den Link J'ai eu incidemment encore pas dans meiner recueil - doit droite récente son.
Allerdings ist chez Wikipedia ortelius.de pas comme Link aufgeführt - avec cela fehlt là sans équivoque quelque chose.

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
31.10.2007  
 




René
Wagner
Moin,

là je dans mon aktuellen projet avec cette INC arbeite, musste je zwangsläufig un paire kleinere Korrekturen vornehmen.
chez qui Monatstag-définition étions ; am Ende, cela klappt peut-être avec PHP, mais pas avec XProfan.

Ausserdem wurde dans fdate quelques Variablen doppelt deklariert. Nachfolgend qui korrigierte INC-Code.
PROC isdate

    parameters mois%,journée%,l'an%
    declare string$,check$
    string$ = @str$(journée%)+.+@str$(mois%)+.+@str$(l'an%)

    si (l'an%>1000)

        check$ = %Y

    d'autre

        check$ = %y

    endif

    si (string$ = fdate(%j.%n.+check$,mktime(0,0,0,mois%,journée%,l'an%)))

        return 1

    d'autre

        return 0

    endif

ENDPROC

PROC now

    declare string$,help$,l'an%,mois%,journée%,heure%,minute%,seconde%
    string$ = @time$(0)+:+@substr$(@time$(1),1,.)
    help$ = @substr$(string$,1,:)
    heure% = help$
    help$ = @substr$(string$,2,:)
    minute% = help$
    help$ = @substr$(string$,3,:)
    seconde% = help$
    string$ = date$(3)
    help$ = @mid$(string$,1,4)
    l'an% = help$
    help$ = @mid$(string$,5,2)
    mois% = help$
    help$ = @mid$(string$,7,2)
    journée% = help$
    return mktime(heure%,minute%,seconde%,mois%,journée%,l'an%)

ENDPROC

PROC fdatelong

    parameters numéro%
    declare numéro$
    numéro$ = numéro%

    si (numéro%<10)

        numéro$ = 0+@str$(numéro%)

    endif

    return numéro$

ENDPROC

PROC mktime

    parameters stunde_mk%,minute_mk%,sekunde_mk%,monat_mk%,tag_mk%,jahr_mk%
    declare sekunden&,anzahltage&,monatstage$,monatstageS$,hilfe_mk%,hilfe$,ende_mk%,okay_mk%,schaltjahr$,monatb_mk%
    ; am Zeilenende entfernt
    monatstage$ = 31,28,31,30,31,30,31,31,30,31,30,31
    monatstageS$ = 31,29,31,30,31,30,31,31,30,31,30,31
    Korrigiere ici ggf. cela date
    ende_mk% = 2

    tandis que ende_mk%

        okay_mk% = 1
        Prüfe qui Sekunden

        si (okay_mk% = 1)

            si (sekunde_mk%>59)

                sekunde_mk% = sekunde_mk%-60
                minute_mk% = minute_mk% + 1
                okay_mk% = 0

            elseif (sekunde_mk%<0)

                sekunde_mk% = sekunde_mk%+60
                minute_mk% = minute_mk% - 1
                okay_mk% = 0

            endif

        endif

        Prüfe qui Minuten

        si (okay_mk% = 1)

            si (minute_mk%>59)

                minute_mk% = minute_mk%-60
                stunde_mk% = stunde_mk% + 1
                okay_mk% = 0

            elseif (minute_mk%<0)

                minute_mk% = minute_mk%+60
                stunde_mk% = stunde_mk% - 1
                okay_mk% = 0

            endif

        endif

        Prüfe qui Stunden

        si (okay_mk% = 1)

            si (stunde_mk%>23)

                stunde_mk% = stunde_mk%-24
                tag_mk% = tag_mk% + 1
                okay_mk% = 0

            elseif (stunde_mk%<0)

                stunde_mk% = stunde_mk%+24
                tag_mk% = tag_mk% - 1
                okay_mk% = 0

            endif

        endif

        Prüfe den journée

        si (okay_mk% = 1)

            schaltjahr$ = monatstage$

            si ((jahr_mk% MOD 4) = 0)

                schaltjahr$ = monatstageS$

            endif

            si (monat_mk%<1)

                monatb_mk% = ((monat_mk% - 1) MOD 12) + 13

            d'autre

                monatb_mk% = ((monat_mk% - 1) MOD 12) + 1

            endif

            si (tag_mk%>@val(@substr$(schaltjahr$,monatb_mk%,,)))

                tag_mk% = tag_mk% - @val(@substr$(schaltjahr$,monatb_mk%,,))
                monat_mk% = monat_mk% + 1
                okay_mk% = 0

            elseif (tag_mk%<1)

                monat_mk% = monat_mk% - 1

                si (monat_mk%<1)

                    monatb_mk% = ((monat_mk% - 1) MOD 12) + 13

                d'autre

                    monatb_mk% = ((monat_mk% - 1) MOD 12) + 1

                endif

                tag_mk% = tag_mk% + @val(@substr$(schaltjahr$,monatb_mk%,,))
                okay_mk% = 0

            endif

        endif

        Prüfe den mois

        si (okay_mk% = 1)

            si (monat_mk%>12)

                monat_mk% = monat_mk%-12
                jahr_mk% = jahr_mk% + 1
                okay_mk% = 0

            elseif (monat_mk%<1)

                monat_mk% = monat_mk%+12
                jahr_mk% = jahr_mk% - 1
                okay_mk% = 0

            endif

        endif

        Prüfe cela l'an

        si (okay_mk% = 1)

            si (jahr_mk%<1970)

                return #OUT OF RANGE#

            elseif (jahr_mk%>2099)

                return #OUT OF RANGE#

            d'autre

                ende_mk% = 0

            endif

        endif

    Wend

    Berechne ab 1970
    jahr_mk% = @int(jahr_mk% - 1970)
    anzahltage& = jahr_mk% * 365
    qui Schaltjahre en supplément

    si (monat_mk%>2)

        anzahltage& = anzahltage& + @int((jahr_mk%+2)/4)

    d'autre

        anzahltage& = anzahltage& + @int(((jahr_mk%-1)+2)/4)

    endif

    qui mois en supplément

    si (monat_mk%>1)

        whileloop 1,(monat_mk%-1)

            hilfe$ = @substr$(monatstage$,&loop,,)
            hilfe_mk% = hilfe$
            anzahltage& = anzahltage& +  hilfe_mk%

        endwhile

    endif

    anzahltage& = anzahltage& + tag_mk% - 1  qui 1. journée beginnt oui avec 0 Sekunden
    sekunden& = anzahltage& * 24 * 60 * 60
    sekunden& = sekunden& + (stunde_mk% * 60 * 60)
    sekunden& = sekunden& + (minute_mk% * 60)
    sekunden& = sekunden& + sekunde_mk%
    return sekunden&

ENDPROC

PROC fdate

    ende% seulement encore einmal déclarer
    declare gesamttage&,wochentag%,ende%,restsekunden&,resttage%,tagimjahr%,semaine%,hilfe%,hilfe2%
    declare l'an%,mois%,journée%,heure%,minute%,seconde%,jahr_test%,anzahltage_test&,sekunden_test&
    declare wochentaglistekurz$,wochentaglistelang$
    declare monatekurz$,monatelang$,monatstage$,monatstageS$,schaltjahr$,testsekunden&

    si (%PCount = 1)

        Paramètres datestring$
        Sekunden seulement ici déclarer, avec cela doppelte Deklaration unterbinden
        declare sekunden&
        sekunden& = now()

    elseif (%PCount = 2)

        Paramètres datestring$,sekunden&

    d'autre

        return

    endif

    Faire une liste de données
    wochentaglistekurz$ = So,Mo,Di,Mi,Do,Fr,Sa
    wochentaglistelang$ = dimanche,lundi,mardi,mercredi,jeudi,vendredi,samedi
    monatekurz$ = Jan,Feb,Mär,Apr,mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez
    monatelang$ = janvier,février,Mars,avril,mai,juin,juillet,août,septembre,octobre,novembre,décembre
    ; am Zeilenende entfernt
    monatstage$ = 31,28,31,30,31,30,31,31,30,31,30,31
    monatstageS$ = 31,29,31,30,31,30,31,31,30,31,30,31
    comme erstes einmal brauche je qui Anzahl qui Tage, pour den Wochentag
    qui 1.1.1970 était Wochentag 4 = jeudi
    gesamttage& = @int(sekunden& / 86400)
    wochentag% = @int(gesamttage& MOD 7)
    Wochentag um 4 korrigieren, car si wochentag% = 0 = dimanche ist , ist es eigentlich jeudi
    wochentag% = wochentag% + 4

    si (wochentag%>6)

        wochentag% = wochentag% - 7

    endif

    si on qui Tage hat, peux on léger à cela l'an venons
    resttage% = gesamttage&
    l'an% = @int(((4*resttage%)/1461) + 1970)
    attention, cela l'an pourrait faux son
    Prüfe cela, indem du une journée auparavant qui mktime anfragst
    jahr_test% = l'an%
    jahr_test% = @int(jahr_test% - 1970)
    anzahltage_test& = jahr_test% * 365
    qui Schaltjahre en supplément
    anzahltage_test& = anzahltage_test& + @int(((jahr_test%-1)+2)/4)
    sekunden_test& = anzahltage_test& * 24 * 60 * 60

    si (sekunden_test&>sekunden&)

        Ups, cela l'an ist faux
        l'an% = l'an% - 1

    endif

    jahr_test% = l'an%
    jahr_test% = @int(jahr_test% - 1970)
    anzahltage_test& = jahr_test% * 365
    qui Schaltjahre en supplément
    anzahltage_test& = anzahltage_test& + @int(((jahr_test%-1)+2)/4)
    sekunden_test& = anzahltage_test& * 24 * 60 * 60
     $testsekunden& muss kleiner son, comme sekunden&
    je brauche eh bien qui Restsekunden pour qui Monate
    restsekunden& = sekunden& - sekunden_test&
    resttage% = @int(restsekunden& / (24*60*60))
    tagimjahr% = resttage%  cela l'an beginnt oui avec dem 1. journée, pas avec dem 0. journée
    dans welchem mois liegt cette journée
    ende% = 1
    mois% = 1
    schaltjahr$ = monatstage$

    si (l'an% MOD 4 = 0)

        schaltjahr$ = monatstageS$

    endif

    tandis que ende%

        si ((resttage%+1)>@val(@substr$(schaltjahr$,mois%,,)))

            resttage% = resttage% - @val(@substr$(schaltjahr$,mois%,,))
            mois% = mois% + 1

        d'autre

            ende% = 0

        endif

    Wend

    journée% = resttage% + 1  aussi ici wieder, mois beginnt avec journée 1 et pas journée 0
    restsekunden& = sekunden& - mktime(0,0,0,mois%,journée%,l'an%)
    heure% = @int(restsekunden& / (60*60))
    restsekunden& = restsekunden& MOD (60*60)
    minute% = @int(restsekunden& / 60)
    restsekunden& = restsekunden& MOD 60
    seconde% = restsekunden&
    Berechne qui semaine
    hilfe% = wochentag%

    si (hilfe%=0)

        hilfe% = 7

    endif

    semaine% = @int((tagimjahr% - hilfe% + 7) / 7)
    si wochentag% am 1.1.des Jahres < 5 ist, ensuite muss korrigiert volonté
    hilfe2% = 7 - ((tagimjahr% - hilfe% + 7) MOD 7)

    si (hilfe2%=0)

        hilfe2%=7

    endif

    si (hilfe2%<5)

        semaine% = semaine% + 1

    elseif (semaine% = 0)

        semaine% = fdate(%W,mktime(0,0,0,12,24,l'an%-1)) + 1

    endif

    et eh bien den String ersetzen
    datestring$ = @translate$(datestring$,%Y,@str$(l'an%))
    datestring$ = @translate$(datestring$,%y,fdatelong(@val(@Right$(@str$(l'an%),2))))
    datestring$ = @translate$(datestring$,%d,fdatelong(journée%))
    datestring$ = @translate$(datestring$,%j,@str$(journée%))
    datestring$ = @translate$(datestring$,%D,@substr$(wochentaglistekurz$,(wochentag%+1),,))
    datestring$ = @translate$(datestring$,%l,@substr$(wochentaglistelang$,(wochentag%+1),,))
    datestring$ = @translate$(datestring$,%F,@substr$(monatelang$,mois%,,))
    datestring$ = @translate$(datestring$,%G,@str$(heure%))
    datestring$ = @translate$(datestring$,%H,fdatelong(heure%))
    datestring$ = @translate$(datestring$,%i,fdatelong(minute%))
    datestring$ = @translate$(datestring$,%m,fdatelong(mois%))
    datestring$ = @translate$(datestring$,%n,@str$(mois%))
    datestring$ = @translate$(datestring$,%M,@substr$(monatekurz$,mois%,,))
    datestring$ = @translate$(datestring$,%s,fdatelong(seconde%))
    datestring$ = @translate$(datestring$,%t,@substr$(schaltjahr$,mois%,,))
    datestring$ = @translate$(datestring$,%w,@str$(wochentag%))
    datestring$ = @translate$(datestring$,%W,@str$(semaine%))
    datestring$ = @translate$(datestring$,%z,@str$(tagimjahr%))
    return datestring$

ENDPROC


Salut René
 
Mit XProfan erstellte Freeware findet ihr hier:  [...] 

US World Domination Tour - bombing a country near you...
11.08.2008  
 




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

19.868 Views

Untitledvor 0 min.
Manfred Barei07.12.2024
Erhard Wirth14.06.2024
Sven Bader16.05.2024
H.Brill09.10.2021
plus...

Themeninformationen



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