Функции date и date_trunc отличаются по назначению при работе с временными метками в PostgreSQL. 14
Функция date используется для извлечения даты из временной метки. 1 В результате получается дата без временной части, в формате «ГГГГ-ММ-ДД». 14
Функция date_trunc предназначена для округления времени. 4 Она позволяет округлить дату до недели, месяца, квартала, года и других единиц измерения. 4 При этом функция работает с временными метками, имеющими тип timestamp with time zone, и позволяет обрезать дату с учётом заданного часового пояса. 35
Таким образом, date используется для получения даты, а date_trunc — для работы с окружением времени и его округлением.