我有一个字符串“12/3/2014 12:00:00 AM”,我想在日期中投射此字符串,其格式为“yyyy-MM-dd HH:mm:ss”
@DatabaseField(columnName="out_date",dataType=DataType.DATE_STRING,format="yyyy-MM-dd HH:mm:ss")
private Date out_date;
上面是从日期字符串
获取值的对象SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
outlet.setOut_date(formater.parse(json.getString("outletDate")));
我使用之后出现错误发生java.text.ParseException:Unparseable date:...(偏移2)如何解决该问题提前谢谢
答案 0 :(得分:0)
转换步骤:
date
对象。SimpleDateFormat
类构造函数。date
解析SimpleDateFormat
。提供的代码将yyyy-MM-dd HH:mm:ss
转换为dd/mm/yyyy HH:mm:ss
格式。
try {
SimpleDateFormat sdf1 = new SimpleDateFormat("dd/mm/yyyy HH:MM:SS a");
Date date = sdf1.parse("12/3/2014 12:00:00 AM");
String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
System.out.println(format);
}catch(Exception e){
e.printStackTrace();
}
错误:java.text.ParseException: Unparseable date: ... (at offset 2)
表示您使用错误的日期格式来解析您的刺痛。
答案 1 :(得分:0)
基于on this answer,你需要这样的东西。首先将字符串以其当前格式转换为日期对象,然后重新格式化日期对象。
String date = "12/3/2014 12:00:00 AM";
SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy HH:MM:SS a");
Date testDate = null;
try {
testDate = sdf.parse(date);
}catch(Exception ex){
ex.printStackTrace();
}
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String newFormat = formatter.format(testDate);
System.out.println(".....Date..."+newFormat);