| |
|
|
Michael Wodrich | [size=18:9a05d71d8c]le calendrier-Berechnungen:[/size:9a05d71d8c] (geschrieben dans XProfan; doit peut-être. un peu ajusté volonté pour frühere Versionen)
il y a sicherlich viele Opportunités pour qui Verwaltung de Kalenderdaten. ici volonté quelques Routinen vorgestellt, qui une LongInt-Variable zur Speicherung benutzen.
cela ca possible ist zeige je ici:
2147483647 maximaler positiver LongInt-Wert ..CCYYMMDD cela date wird so gespeichert ..hhmmsscc qui Zeit wird so gespeichert
CC...... qui siècle-Angabe (Century) ..YY.... cela l'an ....MM.. qui mois ......DD qui journée
hh...... qui heure ..mm.... qui minute ....ss.. qui seconde ......cc qui Hundertstel-seconde (Centi)
qui Profan-internen date- et Zeitfunktionen peut hiermit bien ergänzt volonté.
qui folgenden Routinen construire date et Zeit zusammen: KompilierenMarqueSéparationSyntax: KompilierenMarqueSéparationDatum& = MakeFullDate(Tag&,Monat&,Jahr&) z.B.: dat& = MakeFullDate(4,6,2004)
Datum& = MakeDate(Tag&,Monat&,Jahrhundert&,Jahr&) z.B.: dat& = MakeDate(4,6,20,04)
Zeit& = MakeTime(Stunde&,Minute&,Sekunde&,Hundertstel&) z.B.: tim& = MakeTime(23,30,0,40)re> décomposer des Datums dans sa Einzelteile (paramètre ist cela LongInt-date): KompilierenMarqueSéparationdécomposer qui Zeit dans ses Einzelteile (paramètre ist qui LongInt-Wert): KompilierenMarqueSéparationdate- et Zeit-Vergleiche: (d1 - date des 1. Wertes) (t1 - Zeit des 1. Wertes) (d2 - date des 2. Wertes) (t2 - Zeit des 2. Wertes) KompilierenMarqueSéparationDef Time_EQ(d1,t1,d2,t2) (@&(1) = @&(3)) and (@&(2) = @&(4))
Def Time_GE(d1,t1,d2,t2) (@&(1) > @&(3)) or ((@&(1) = @&(3)) and (@&(2) >= @&(4)))
Def Time_GT(d1,t1,d2,t2) (@&(1) > @&(3)) or ((@&(1) = @&(3)) and (@&(2) > @&(4)))
Def Time_LE(d1,t1,d2,t2) (@&(1) < @&(3)) or ((@&(1) = @&(3)) and (@&(2) <= @&(4)))
Def Time_LT(d1,t1,d2,t2) (@&(1) < @&(3)) or ((@&(1) = @&(3)) and (@&(2) < @&(4)))
Def Time_NEQ(d1,t1,d2,t2) (@&(1) <> @&(3)) or (@&(2) <> @&(4)) cela aktuelle date serviert Profan déjà mundgerecht: KompilierenMarqueSéparationchez qui aktuellen Zeit doit on déjà un peu plus nachhelfen: KompilierenMarqueSéparationIst cela angegebene l'an un Schaltjahr? Es volonté aussi Jahre avant qui Kalenderreform korrekt geprüft: KompilierenMarqueSéparationErmittelt den Wochentag: KompilierenMarqueSéparation MfG Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 05.06.2004 ▲ |
|
|
|
|
| Spitze!, wir kriege je pour dem Prinzip une Datums-Distance hin, quelle le nombre qui Jahre,Monate,Tage entre deux Datumsangaben zurückliefert? |
|
|
| |
|
|
|
Michael Wodrich | par change dans qui Julianische Tageszahl. qui ist eigentlich une Float-numéro. je voulais cela Ganze dans LongInt behalten, mais voilà qui Wurm drin. la fois voyons, je Poste cela Ding am l'après-midi la fois. maintenant hab je malheureusement aucun Streichhölzer plus, à Augen aufzuhalten...
jusqu'à ensuite Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 07.06.2004 ▲ |
|
|
|
|
Sven Bader | je veux eigentlich aussi seulement qui Distanz zweiter données Peut-être cela pour quelqu'un intéressant, le nombre qui Tage eines Monats, Schaltjahrprüfung pour février ist aussi dabei.
Def Tage(2) int(28+val(mid$(303232332323,&(1),1))+si((&(1)=2) & (&(2) MOD 4 = 0),1,0))
Aufruf: imprimer Tage(02,2004) Ausgabe: 29 février 2004 hatte 29 Tage |
|
|
| |
|
|