How do I get a Date without time in Java?

Do you absolutely have to use java.util.Date? I would thoroughly recommend that you use Joda Time or the java.time package from Java 8 instead. In particular, while Date and Calendar always represent a particular instant in time, with no such concept as “just a date”, Joda Time does have a type representing this (LocalDate). Your code will be much clearer if you’re able to use types which represent what you’re actually trying to do.

There are many, many other reasons to use Joda Time or java.time instead of the built-in java.util types – they’re generally far better APIs. You can always convert to/from a java.util.Date at the boundaries of your own code if you need to, e.g. for database interaction.

Leave a Comment