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()); Log.i(tag,cdate);
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.
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());
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..