In Java, given a timestamp, how to reset the time part alone to 00:00:00 so that the timestamp represents the midnight of that particular day ?
In T-SQL, this query will do to achieve the same, but I don’t know how to do this in Java.
SELECT CAST( FLOOR( CAST(GETDATE() AS FLOAT ) ) AS DATETIME) AS 'DateTimeAtMidnight';
You can go Date->Calendar->set->Date:
I love Java dates.
Note that if you’re using actual java.sql.Timestamps, they have an extra nanos field. Calendar of course, knows nothing of nanos so will blindly ignore it and effectively drop it when creating the zeroedDate at the end, which you could then use to create a new Timetamp object.
I should also note that Calendar is not thread-safe, so don’t go thinking you can make that a static single cal instance called from multiple threads to avoid creating new Calendar instances.