我有时间上设备11:34
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy', 'hh:mm");
Date date_current = new Date();
Date date_start = null;
date_start = sdf.parse("12.03.2014, 12:00");// I PARSE THIS DATE!!!
结果是:
DATE_START:
周三3月12日00:00:00 EET 2014
但应该是:
周三3月12日12:00:00 EET 2014
如何解决呢?
要获得24小时格式使用HH
不hh
。 在12小时格式小时可以在愤怒0
- 11
,这使得12溢出到0
。
采用
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy', 'HH:mm");
使用24小时日期格式的SimpleDateFormat SDF =新的SimpleDateFormat( “DD.MM.YYYY '' HH:MM”);
首先,来看看关于Simpledatrformat的模式。 它清楚地表明H
为(0-23)。
参考的日期格式模式语法
所以你应该改变你的代码如下图所示。
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy', 'HH:mm");
Date date_current = new Date();
Date date_start = null;
date_start = sdf.parse("12.03.2014, 12:00");
System.out.println("now time is.." + date_start);
要么
用这个:
Date date = new Date();
date.setHours(date.getHours() + 8);
System.out.println(date);
SimpleDateFormat simpDate;
simpDate = new SimpleDateFormat("kk:mm:ss");
System.out.println(simpDate.format(date));
谢谢..用上面的代码正确解析!