Home » Android » java – 24 hour clock not working in dateformat android

java – 24 hour clock not working in dateformat android

Posted by: admin June 15, 2020 Leave a comment


i have made an application in which i need to perform date conversion in 24 hour format.
Here is my code.

GregorianCalendar c = new GregorianCalendar(Locale.GERMANY);
            c.set(2011, 04, 29,0,0,0);
            String cdate = (String) DateFormat.format("yyyy-MM-dd HH:mm:ss", c.getTime());

now when i check my LOG here is the output:

04-22 12:44:15.956: INFO/GridCellAdapter(30248): 2011-04-29 HH:00:00

why is the hour field not getting set. i have explicitly passed 0 when i was making the calendar object, still it is display HH in the LOG.
i have tried while passing hh, that is being set, but HH is not being set.

what could be the problem?

thank you in advance.

How to&Answers:

Try using SimpleDateFormat, a subclass of DateFormat. That might correct the problems you’re having.

e.g. to print current datetime

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_H-mm-ss",Locale.US);
String formattedDateString = dateFormat.format(new java.util.Date());
// result is something like "2013-02-14_18-44-15"


String cdate = (String) DateFormat.format("yyyy-MM-dd kk:mm:ss", c.getTime());


Try this

Long someLongDate = 240000L 
// I was working with a Long in my own code. 
// I'm sure you can use something like varDate.getLong()
TextView textView = (TextView) view;                 // your view of interest
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");     
textView.setText(sdf.format(new Date(someLongDate)));

If it helped – don’t forget to check my post as the answer..