Saludos
Soy nuevo en el foro, espero poder ayudar en lo que pueda...
Ahora con respe a las fechas en delphi y firebird (Interbase), yo lo que realizo para no tener problemas en el momento de guardar un dato tipo date, tipo time o tipo timestamp siempre realizo un paso de mas, ya sea en el codigo de mi aplicacion o en la SQL.
1. en el Codigo:
var hora : time;
char_hora : varchar;
begin
hora := strtotime(14:00);
// siempre uso el formato de 24 horas
dataset.fieldbyname('horaDB').asdatatime := hora;
char_hora := timetostr(dataset.fieldbyname('horaDB').asdatatime);
hora := strtotime(char_hora) + strtotime('00:15');
dataset.fieldbyname('horaDB').asdatatime := hora;
{ es un poco molesto realizar tantas conversiones pero asi me aseguro de no tener problemas con la configuración regional de cada PC ya que en ocaciones queda almacenado como 10:00 a.m. y en otros como 10:00 AM y de verdad que trae problemas con locates y con tipo de datos}
end;
2. desde una sql
select * from TTablaXY where
cast(horaDB
as time) =
cast(arrametro_envidao
as time)
/* aunque el campo horaDB sea de tipo time, es mejor realizar el cast ya que en ocaciones no funciona bien sin este...*/
Espero que sea de utilidad