Programación Delphi: Rutinas de fecha / hora

Compara dos valores TDateTime (devuelve "menos", "igual" o "mayor"). Ignora la parte de tiempo si ambos valores "caen" el mismo día.

Función CompareDateTime

Compara dos valores TDateTime (devuelve "menos", "igual" o "mayor").

Declaración:
tipo TValueRelationship = -1..1
función CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Descripción:
Compara dos valores TDateTime (devuelve "menos", "igual" o "mayor").

TValueRelationship representa la relación entre dos valores. Cada uno de los tres valores de TValueRelationship tiene una constante simbólica "me gusta":
-1 [LessThanValue] El primer valor es menor que el segundo valor.
0 [EqualsValue] Los dos valores son iguales.
1 [GreaterThanValue] El primer valor es mayor que el segundo valor.
CompareDate resulta en:

LessThanValue si ADate es anterior a BDate.
Igual Valor si las partes de fecha y hora de ADate y BDate son iguales
GreaterThanValue si ADate es posterior a BDate.

Ejemplo:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Ahora; FutureMoment: = IncDay (ThisMoment, 6); // agrega 6 días. // CompareDateTime (ThisMoment, FutureMoment) devuelve LessThanValue (-1) // CompareDateTime (FutureMoment, ThisMoment) devuelve GreaterThanValue (1)
instagram viewer

Función CompareTime

Compara dos valores TDateTime (devuelve "menos", "igual" o "mayor"). Ignora la parte Fecha si ambos valores se producen al mismo tiempo.

Declaración:
tipo TValueRelationship = -1..1
función CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Descripción:
Compara dos valores TDateTime (devuelve "menos", "igual" o "mayor"). Ignora la parte de tiempo si ambos valores se producen al mismo tiempo.

TValueRelationship representa la relación entre dos valores. Cada uno de los tres valores de TValueRelationship tiene una constante simbólica "me gusta":
-1 [LessThanValue] El primer valor es menor que el segundo valor.
0 [EqualsValue] Los dos valores son iguales.
1 [GreaterThanValue] El primer valor es mayor que el segundo valor.
CompareDate resulta en:

LessThanValue si ADate ocurre antes en el día especificado por BDate.
Igual Valor si las partes de tiempo de ADate y BDate son iguales, ignorando la parte de Fecha.
GreaterThanValue si ADate ocurre más tarde en el día especificado por BDate.

Ejemplo:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Ahora; AnotherMoment: = IncHour (ThisMoment, 6); // agrega 6 horas. // CompareDate (ThisMoment, AnotherMoment) devuelve LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) devuelve GreaterThanValue (1

Función de fecha

Devuelve la fecha actual del sistema.

Declaración:
tipo TDateTime = tipo Doble;

función fecha: TDateTime;

Descripción:
Devuelve la fecha actual del sistema.

La parte integral de un valor TDateTime es el número de días que han pasado desde el 30/12/1899. La parte fraccionaria de un valor TDateTime es la fracción de un día de 24 horas que ha transcurrido.

Para encontrar el número fraccionario de días entre dos fechas, simplemente reste los dos valores. Del mismo modo, para incrementar un valor de fecha y hora en un cierto número fraccional de días, simplemente agregue el número fraccionario al valor de fecha y hora.

Ejemplo: ShowMessage ('Hoy es' + DateToStr (Fecha));

Función DateTimeToStr

Convierte un valor TDateTime en una cadena (fecha y hora).

Declaración:
tipo
TDateTime = tipo Doble;

función DayOfWeek (Fecha: TDateTime): entero;

Descripción:
Devuelve el día de la semana para una fecha determinada.

DayOfWeek devuelve un número entero entre 1 y 7, donde el domingo es el primer día de la semana y el sábado es el séptimo.
DayOfTheWeek no cumple con el estándar ISO 8601.

Ejemplo:

const Days: matriz [1..7] de cadena = ('Domingo Lunes Martes Miércoles Jueves Viernes Sábado') ShowMessage ('Hoy es' + Días [DayOfWeek (Fecha)]); //Hoy es Lunes

Función DaysBetween

Da el número de días enteros entre dos fechas especificadas.

Declaración:
función
DaysBetween (const ANow, AThen: TDateTime): entero;

Descripción:
Da el número de días enteros entre dos fechas especificadas.

La función cuenta solo días enteros. Lo que esto significa es que devolverá 0 como resultado de la diferencia entre el 01/05/2003 23:59:59 y el 01/05/2003 23:59:58, donde la diferencia real es un * día entero * menos 1 segundo .

Ejemplo:

var dtNow, dtBirth: TDateTime; DaysFromBirth: entero; dtNow: = ahora; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "existe"' + IntToStr (DaysFromBirth) + 'días completos!');

Función DateOf

Devuelve solo la parte Fecha del valor TDateTime, al establecer la parte Hora en 0.

Declaración:
función
DateOf (Date: TDateTime): TDateTime

Descripción:
Devuelve solo la parte Fecha del valor TDateTime, al establecer la parte Hora en 0.

DateOf establece la porción de tiempo en 0, lo que significa medianoche.

Ejemplo:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Ahora; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Este día: = 27/06/2003 00: 00: 00: 000

Función DecodeDate

Separa los valores de Año, Mes y Día de un valor TDateTime.

Declaración:
procedimiento
DecodeDate (Fecha: TDateTime; var Año, Mes, Día: Palabra) ;;

Descripción:
Separa los valores de Año, Mes y Día de un valor TDateTime.

Si el valor de TDateTime dado es menor o igual que cero, los parámetros de retorno de año, mes y día se establecen en cero.

Ejemplo:

var Y, M, D: Palabra; DecodeDate (Fecha, A, M, D); si Y = 2000 entonces. ShowMessage ('¡Estás en un siglo' equivocado '!);

Función EncodeDate
Crea un valor TDateTime a partir de los valores de año, mes y día.

Declaración:
función
EncodeDate (año, mes, día: Word): TDateTime

Descripción:
Crea un valor TDateTime a partir de los valores de año, mes y día.

El año debe estar entre 1 y 9999. Los valores válidos del mes son del 1 al 12. Los valores válidos del día son del 1 al 28, 29, 30 o 31, según el valor del mes.
Si la función falla, EncodeDate genera una excepción EConvertError.

Ejemplo:

var Y, M, D: Palabra; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna será. un año de edad en '+ DateToStr (dt))

Función FormatDateTime
Formatea un valor TDateTime en una cadena.

Declaración:
función
FormatDateTime (const Fmt: cadena; Valor: TDateTime): cuerda;

Descripción:
Formatea un valor TDateTime en una cadena.

FormatDateTime utiliza el formato especificado por el parámetro Fmt. Para conocer los especificadores de formato compatibles, consulte los archivos de ayuda de Delphi.

Ejemplo:

var s: cadena; d: TDateTime;... d: = ahora; // hoy + hora actual. s: = FormatDateTime ('dddd', d); // s: = miércoles. s: = FormatDateTime ('"Hoy es" dddd "minute" nn', d) // s: = Hoy es miércoles minuto 24

Función IncDay

Agrega o resta un número determinado de días de un valor de fecha.

Declaración:
función
IncDay (ADate: TDateTime; Días: entero = 1): TDateTime;

Descripción:
Agrega o resta un número determinado de días de un valor de fecha.

Si el parámetro Días es negativo, la fecha devuelta es

Ejemplo:

Fecha var: TDateTime; EncodeDate (Fecha, 2003, 1, 29) // 29 de enero de 2003. IncDay (Fecha, -1) // 28 de enero de 2003

Ahora funciona

Devuelve la fecha y hora actuales del sistema.

Declaración:
tipo
TDateTime = tipo Doble;

función Ahora: TDateTime;

Descripción:
Devuelve la fecha y hora actuales del sistema.

La parte integral de un valor TDateTime es el número de días que han pasado desde el 30/12/1899. La parte fraccionaria de un valor TDateTime es la fracción de un día de 24 horas que ha transcurrido.

Para encontrar el número fraccionario de días entre dos fechas, simplemente reste los dos valores. Del mismo modo, para incrementar un valor de fecha y hora en un cierto número fraccional de días, simplemente agregue el número fraccionario al valor de fecha y hora.

Ejemplo: ShowMessage ('Ahora es' + DateTimeToStr (Ahora));

Años entre la función

Da el número de años enteros entre dos fechas especificadas.

Declaración:
función
Años entre (const SomeDate, AnotherDate: TDateTime): entero;

Descripción:
Da el número de años enteros entre dos fechas especificadas.

YearsBetween devuelve una aproximación basada en un supuesto de 365.25 días por año.

Ejemplo:

var dtSome, dtAnother: TDateTime; DaysFromBirth: entero; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // año no bisiesto. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // año bisiesto
instagram story viewer