Set time to 00:00:00
Easily reset a java.util.Date
to midnight using Calendar
:
👉 Set all time fields to zero to get to midnight.
Using java.time
for more elegance
Here is how to accomplish this with java.time
, Java's modern date and time API, as this is much simpler and robust:
Or, if you only need time without the date:
Formatting date with awareness of time zone
If formatting, use SimpleDateFormat
with the correct settings to avoid any midnight confusion:
👉 24-hour display (use "HH") can save you from a 12 hours of AM/PM lethargy.
Time Traps and Trials
Time zone trials
Time Zones can bring chaos - To avoid this, keep the time zone factor in mind while setting time:
Interacting anger-free with databases
Remember, when dealing with databases, your time resetting and formatting should be compatible with your database's expectations.
The 12-hour format nemesis
Be mindful that Calendar's 12-hour format can turn your 00:00:00 into 12:00:00 AM. Use a 24-hour display setting instead:
Testing tribulations across time zones
Testing can save your day… and night. Test thoroughly across different time zones to ensure accuracy and user satisfaction.
Balancing Time: The Strikes and Gutters
LocalDateTime truncation saves the day (or night)
For a more precise hour resetting without lingering minutes and seconds, use truncatedTo(ChronoUnit.HOURS)
with LocalDateTime
:
GregorianCalendar: The time machine
Handling older codebases? GregorianCalendar
is your trusty tool:
Time setting consistency is king
Consistent time resetting is vital for a smooth run of your application, especially when it involves database interactions.
Was this article helpful?