我有以下方法将String转换为Date对象
public Date convertTime(String time) {
SimpleDateFormat parser = new SimpleDateFormat("d/M/y HH:mm:ss.S");
try {
return parser.parse(time);
}
catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
我有以下方法将其转换回来
public String dateToTimeMillis(Date date) {
//StringBuffer formatted = new StringBuffer();
SimpleDateFormat parser = new SimpleDateFormat("HH:mm:ss.S");
try {
String formatted = parser.format(date);
return formatted;
}
catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
以下测试代码
TraderLib lib = new TraderLib();
Date d1 = lib.convertTime("01/11/2011 10:41:09.045");
System.out.println(lib.dateToTimeMillis(d1));
返回10:41:09.45
如何保留0?
答案 0 :(得分:5)
您应将格式设置为:
new SimpleDateFormat("d/M/y HH:mm:ss.SSS");
保留3位数字。来自documentation:
“数字:对于格式化,模式字母的数量是最小位数,较短的数字是零填充到此数量。对于解析,忽略模式字母的数量,除非需要分隔两个相邻的字段。“
答案 1 :(得分:3)
使用SimpleDateFormat parser = new SimpleDateFormat("d/M/y HH:mm:ss.SSS");