Programmazione Delphi: routine data / ora

Confronta due valori TDateTime (restituisce "meno", "uguale" o "maggiore"). Ignora la parte temporale se entrambi i valori "cadono" nello stesso giorno.

Funzione CompareDateTime

Confronta due valori TDateTime (restituisce "meno", "uguale" o "maggiore").

Dichiarazione:
digitare TValueRelationship = -1..1
funzione CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Descrizione:
Confronta due valori TDateTime (restituisce "meno", "uguale" o "maggiore").

TValueRelationship rappresenta la relazione tra due valori. Ognuno dei tre valori di TValueRelationship ha una costante simbolica "gradita":
-1 [LessThanValue] Il primo valore è inferiore al secondo valore.
0 [EqualsValue] I due valori sono uguali.
1 [GreaterThanValue] Il primo valore è maggiore del secondo valore.
CompareDate risultati in:

LessThanValue se ADate è precedente a BDate.
È uguale a se le parti di data e ora di ADate e BDate sono uguali
Valore maggiore se ADate è successivo a BDate.

Esempio:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Now; FutureMoment: = IncDay (ThisMoment, 6); // aggiunge 6 giorni. // CompareDateTime (ThisMoment, FutureMoment) restituisce LessThanValue (-1) // CompareDateTime (FutureMoment, ThisMoment) restituisce GreaterThanValue (1)
instagram viewer

Funzione CompareTime

Confronta due valori TDateTime (restituisce "meno", "uguale" o "maggiore"). Ignora la parte Data se entrambi i valori si verificano contemporaneamente.

Dichiarazione:
digitare TValueRelationship = -1..1
funzione CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Descrizione:
Confronta due valori TDateTime (restituisce "meno", "uguale" o "maggiore"). Ignora la parte temporale se entrambi i valori si verificano contemporaneamente.

TValueRelationship rappresenta la relazione tra due valori. Ognuno dei tre valori di TValueRelationship ha una costante simbolica "gradita":
-1 [LessThanValue] Il primo valore è inferiore al secondo valore.
0 [EqualsValue] I due valori sono uguali.
1 [GreaterThanValue] Il primo valore è maggiore del secondo valore.
CompareDate risultati in:

LessThanValue se ADate si verifica prima del giorno specificato da BDate.
EqualsValue se le parti temporali di ADate e BDate sono uguali, ignorando la parte Date.
Valore maggiore se ADate si verifica più tardi nel giorno specificato da BDate.

Esempio:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Now; AnotherMoment: = IncHour (ThisMoment, 6); // aggiunge 6 ore. // CompareDate (ThisMoment, AnotherMoment) restituisce LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) restituisce GreaterThanValue (1

Funzione data

Restituisce la data di sistema corrente.

Dichiarazione:
genere TDateTime = genere Doppio;

funzione data: TDateTime;

Descrizione:
Restituisce la data di sistema corrente.

La parte integrante di un valore TDateTime è il numero di giorni trascorsi dal 30/12/1899. La parte frazionaria di un valore TDateTime è la frazione di un giorno di 24 ore trascorso.

Per trovare il numero frazionario di giorni tra due date, sottrai semplicemente i due valori. Allo stesso modo, per incrementare un valore di data e ora di un certo numero frazionario di giorni, è sufficiente aggiungere il numero frazionario al valore di data e ora.

Esempio: ShowMessage ('Today is' + DateToStr (Date));

Funzione DateTimeToStr

Converte un valore TDateTime in una stringa (data e ora).

Dichiarazione:
genere
TDateTime = genere Doppio;

funzione DayOfWeek (Date: TDateTime): intero;

Descrizione:
Restituisce il giorno della settimana per una determinata data.

DayOfWeek restituisce un numero intero compreso tra 1 e 7, dove domenica è il primo giorno della settimana e sabato è il settimo.
DayOfTheWeek non è conforme allo standard ISO 8601.

Esempio:

const Days: array [1..7] di string = ('Domenica lunedì martedì mercoledì giovedì venerdì sabato') ShowMessage ('Today is' + Days [DayOfWeek (Date)]); //Oggi è lunedì

Funzione DaysB Between

Fornisce il numero di giorni interi tra due date specificate.

Dichiarazione:
funzione
DaysBetween (const ANow, AThen: TDateTime): intero;

Descrizione:
Fornisce il numero di giorni interi tra due date specificate.

La funzione conta solo giorni interi. Ciò significa che restituirà 0 come risultato della differenza tra il 05/01/2003 alle 23:59:59 e il 05/01/2003 alle 23:59:58 - dove la differenza effettiva è di un * giorno * intero meno 1 secondo .

Esempio:

var dtNow, dtBirth: TDateTime; DaysFromBirth: intero; dtNow: = Now; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "esiste"' + IntToStr (DaysFromBirth) + 'interi giorni!');

Funzione DateOf

Restituisce solo la parte Data del valore TDateTime, impostando Time part su 0.

Dichiarazione:
funzione
DateOf (Data: TDateTime): TDateTime

Descrizione:
Restituisce solo la parte Data del valore TDateTime, impostando Time part su 0.

DateOf imposta la porzione di tempo su 0, che significa mezzanotte.

Esempio:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Now; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Questo giorno: = 27/06/2003 00: 00: 00: 000

Funzione DecodeDate

Separa i valori di Anno, Mese e Giorno da un valore TDateTime.

Dichiarazione:
procedura
DecodeDate (Data: TDateTime; var Anno, mese, giorno: parola) ;;

Descrizione:
Separa i valori di Anno, Mese e Giorno da un valore TDateTime.

Se il valore TDateTime specificato è inferiore o uguale a zero, i parametri di ritorno di anno, mese e giorno sono tutti impostati su zero.

Esempio:

var Y, M, D: Word; DecodeDate (Date, Y, M, D); se Y = 2000 allora. ShowMessage ('Sei in un secolo "sbagliato"!);

Funzione EncodeDate
Crea un valore TDateTime dai valori Anno, Mese e Giorno.

Dichiarazione:
funzione
EncodeDate (Anno, Mese, Giorno: Parola): TDateTime

Descrizione:
Crea un valore TDateTime dai valori Anno, Mese e Giorno.

L'anno deve essere compreso tra 1 e 9999. I valori del mese validi sono compresi tra 1 e 12. I valori dei giorni validi sono compresi tra 1 e 28, 29, 30 o 31, a seconda del valore del mese.
Se la funzione fallisce, EncodeDate solleva un'eccezione EConvertError.

Esempio:

var Y, M, D: Word; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('sarà Borna. un anno fa '+ DateToStr (dt))

Funzione FormatDateTime
Formatta un valore TDateTime in una stringa.

Dichiarazione:
funzione
FormatDateTime (const Fmt: string; Valore: TDateTime): corda;

Descrizione:
Formatta un valore TDateTime in una stringa.

FormatDateTime utilizza il formato specificato dal parametro Fmt. Per gli identificatori di formato supportati, consultare i file della Guida di Delphi.

Esempio:

var s: stringa; d: TDateTime;... d: = Adesso; // oggi + ora corrente. S: = FormatDateTime ( 'dddd', d); // s: = mercoledì. s: = FormatDateTime ('"Oggi è" dddd "minuto" nn', d) // s: = Oggi è mercoledì minuto 24

Funzione IncDay

Aggiunge o sottrae un determinato numero di giorni da un valore data.

Dichiarazione:
funzione
IncDay (ADate: TDateTime; Giorni: intero = 1): TDateTime;

Descrizione:
Aggiunge o sottrae un determinato numero di giorni da un valore data.

Se il parametro Days è negativo, la data restituita è

Esempio:

var Data: TDateTime; EncodeDate (Date, 2003, 1, 29) // 29 gennaio 2003. IncDay (Date, -1) // 28 gennaio 2003

Ora funzione

Restituisce la data e l'ora correnti del sistema.

Dichiarazione:
genere
TDateTime = genere Doppio;

funzione Ora: TDateTime;

Descrizione:
Restituisce la data e l'ora correnti del sistema.

La parte integrante di un valore TDateTime è il numero di giorni trascorsi dal 30/12/1899. La parte frazionaria di un valore TDateTime è la frazione di un giorno di 24 ore trascorso.

Per trovare il numero frazionario di giorni tra due date, sottrai semplicemente i due valori. Allo stesso modo, per incrementare un valore di data e ora di un certo numero frazionario di giorni, è sufficiente aggiungere il numero frazionario al valore di data e ora.

Esempio: ShowMessage ('Now is' + DateTimeToStr (Now));

Anni Tra la funzione

Fornisce il numero di anni interi tra due date specificate.

Dichiarazione:
funzione
YearsBetween (const SomeDate, AnotherDate: TDateTime): intero;

Descrizione:
Fornisce il numero di anni interi tra due date specificate.

AnniTra restituisce un'approssimazione basata su un'ipotesi di 365,25 giorni all'anno.

Esempio:

var dtSome, dtAnother: TDateTime; DaysFromBirth: intero; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); Anni tra (dtSome, dtAnother) == 1 // anno non bisestile. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsB Between (dtSome, dtAnother) == 0 // anno bisestile