我做了一个应用程序,我需要以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没有被设定。
可能是什么问题?
提前谢谢。
答案 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)));
如果它有帮助 - 不要忘记检查我的帖子作为答案..