我正在尝试转换表示存储在SQLITE中的日期的字符串。
日期存储在sqlite中,如下所示:
Date date;
date.toString();
根据Java文档,toString()
方法:
返回此Date的字符串表示形式。格式是 相当于使用格式字符串为“EEE MMM”的SimpleDateFormat dd HH:mm:ss zzz yyyy“,看起来像”Tue Jun 22 13:07:00 PDT 1999“。使用当前的默认时区和语言环境。如果你 需要控制时区或语言环境,使用SimpleDateFormat 代替。
直到这里,它没关系,但是当我尝试获取String并再次将其转换为日期时,Java会抛出异常。
String来自sqlite:
Mon Jan 20 18:26:25 BRT 2014
所以,我这样做:
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date= sdf.parse("Mon Jan 20 18:26:25 BRT 2014");
我做错了什么?
感谢。
答案 0 :(得分:1)
试试这段代码
String dateString = "here your date";
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(dateString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(convertedDate);
答案 1 :(得分:1)
试试这个:
String w = "Mon Jan 20 18:26:25 BRT 2014";
SimpleDateFormat pre = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
try{
Date date = pre.parse(w);
System.out.println(sdf.format(date));
}catch(Exception e){
e.printStackTrace();
}
输出:
20/01/2014
答案 2 :(得分:0)
格式化程序,用于以dd/MM/yyyy
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
存储数据
String dataAsString = simpleDateFormat.format(date); // 20/01/2014
恢复数据
Date data = simpleDateFormat.parse(dataAsString);