How to subtract from date sql 12 hours?

Good time of day. There is a request to the current corrupt database. Firebird 2.1. The query is executed via isql.
SELECT
 C. CODE AS "Service",
 C. NAME AS "name",
 T. TRANZDATE AS "date",
 max(T. TRANZTIME) AS "Time",
 T. INFOSTR AS "Map",
 sum(T. SUMM) AS Summa
FROM
 DOCUMENT D
 LEFT JOIN TRANZT T ON D. ID = T. DOCUMENTID
 JOIN CLIENT C ON T. INFO2 = C. CODE -- òàá íîìåð
WHERE
 T. TRANZDATE = cast('now' as date) and
 T. TRANZTIME >='20:00:00' AND T. TRANZTIME <='08:00:00' AND
 D. STATE = 1 AND 
 D. ISFISCAL = 1 AND 
 T. TRANZTYPE = '36' and 
 T. INFO = '8' 
GROUP BY
C. CODE
C. NAME,
T. TRANZDATE,
 T. INFOSTR

The request is sent to the database 2 times a day at 8 am and 20 PM. You need to calculate the intervals from 08:00:00 20:00:00 on the current date, do as follows:
T. TRANZDATE = cast('now' as date) and
T. TRANZTIME >='08:00:00' AND T. TRANZTIME <='20:00:00' AND

how to perform query in the range 12.03.2020 20:00:00 13.03.2020 08:00:00?
T. TRANZDATE = cast('now' as date) and
T. TRANZTIME >='20:00:00' AND T. TRANZTIME <='08:00:00' AND

ie from the current date to take 12 hours.
I tried something like that
T. TRANZDATE = dateadd (hour, -12, current_timestamp) and

But does not give the desired result. The query runs daily, automatically.
April 8th 20 at 17:12
1 answer
April 8th 20 at 17:14
Example from documentation:
dateadd (-12 hour to current_time)

Find more questions by tags SQLFirebird