24 hour clock not working in dateformat android

2020-02-11 03:06发布

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.

3条回答
女痞
2楼-- · 2020-02-11 03:24

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..

查看更多
甜甜的少女心
3楼-- · 2020-02-11 03:32

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"
查看更多
放荡不羁爱自由
4楼-- · 2020-02-11 03:32
String cdate = (String) DateFormat.format("yyyy-MM-dd kk:mm:ss", c.getTime());
查看更多
登录 后发表回答