Luckily Presto has a wide range of conversion functions and they are listed in the docs. Many of these allow us to specifically convert a timestamp type to a date type.
To test this out we can use Presto’s built-in current_timestamp
function (an alias for the now() function) that returns the current system time as a timestamp:
presto> select current_timestamp as "Date & Time Here Now";
Date & Time Here Now
---------------------------------------
2020-11-27 13:20:04.093 Europe/London
(1 row)
To grab the date part of a timestamp we can simply cast to a date:
presto> select cast(current_timestamp as date) as "Today's date";
Today's date
--------------
2020-11-27
(1 row)
Or we can use date() which is an alias for cast(x as date):
presto> select date(current_timestamp) as "Today's date";
Today's date
--------------
2020-11-27
(1 row)
We can use date_format() which is one of Presto’s MySQL-compatible functions:
presto:demo> select date_format(current_timestamp, '%Y%m%d') as "Today's date";
Today's date
----------
20201127
(1 row)
Finally we can use format_datetime() which uses a format string compatible with JodaTime’s DateTimeFormat pattern format:
presto:demo> select format_datetime(current_timestamp, 'Y-M-d') as "Date";
Date
----------
2020-11-27
(1 row)
The above 5 examples should allow you to convert timestamps to dates in any scenario.