Reputation: 2107
When I want to get a time set to 00:00:00, Calendar always get 12:00:00
Calendar currentDate = Calendar.getInstance();
// even set AM_PM it was still 12:00:00
// currentDate.set(Calendar.AM_PM, Calendar.AM);
// Calendar.HOUR still not work
currentDate.set(Calendar.HOUR_OF_DAY, 0);
currentDate.set(Calendar.MINUTE, 0);
currentDate.set(Calendar.SECOND, 0);
currentDate.set(Calendar.MILLISECOND, 0);
How could I make it? Thanks in advance.
Upvotes: 3
Views: 2033
Reputation: 43023
You can set hour like this:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");
Calendar calendar = new GregorianCalendar(2014, 4, 15, 0, 0, 0);
System.out.println(sdf.format(calendar.getTime()));
OUTPUT
2014 mai 15 00:00:00
mai
means may
month in french.
Upvotes: 1
Reputation: 7501
But when is 00:00:00, really, when you get down to it? Is it today? Or yesterday?
To eliminate confusion, try something like
Calendar currentDate = Calendar.getInstance();
// even set AM_PM it was still 12:00:00
// currentDate.set(Calendar.AM_PM, Calendar.AM);
// Calendar.HOUR still not work
currentDate.set(Calendar.HOUR_OF_DAY, 0);
currentDate.set(Calendar.MINUTE, 0);
currentDate.set(Calendar.SECOND, 1);
currentDate.set(Calendar.MILLISECOND, 0);
Upvotes: 2