24小时制不在dateformat android中工作

时间:2011-04-22 11:45:39

标签: java android date time

我做了一个应用程序,我需要以24小时格式执行日期转换。 这是我的代码。

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);

现在,当我在这里检查我的LOG是输出:

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

为什么小时字段没有设置。我在制作日历对象时显式传递了0,仍然在LOG中显示HH。 我已经尝试过了,但是HH没有被设定。

可能是什么问题?

提前谢谢。

3 个答案:

答案 0 :(得分:15)

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

答案 1 :(得分:10)

尝试使用SimpleDateFormat,DateFormat的子类。这可能会纠正你遇到的问题。

e.g。打印当前日期时间

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"

答案 2 :(得分:1)

试试这个

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)));

如果它有帮助 - 不要忘记检查我的帖子作为答案..