HI,
我正在将String转换为Date格式。但它返回错误的日期。例如,
String startDate = "08-05-2010"; // (MM/dd/yyyy)
我想将此转换为像这样的“Date”对象,05-JUL-10
怎么做?我试过这个
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy");
scal1.setTime(dateFormat.parse((startDate)));
但是我得到了“Unparseable date:”。
答案 0 :(得分:4)
如果要将一种格式的日期字符串转换为另一种格式,可以使用SimpleDateFormat类
的format()和parse()方法首先,您需要使用parse()方法将字符串解析为日期对象,然后使用设置目标模式的format()方法格式化日期对象:
SimpleDateFormat sourceFormat = new SimpleDateFormat("MM-dd-yyyy");
Date sourceFormatDate = sourceFormat.parse("08-05-2010");
SimpleDateFormat destFormat = new SimpleDateFormat("dd-MMM-yy");
String destFormatDateString = destFormat.format(sourceFormatDate);
System.out.println(destFormatDateString); // 05-Aug-10
答案 1 :(得分:2)
除非你遗漏了一些东西,否则看起来你正试图用错误的格式解析它,即你有一个mm-dd-yyyy,你试图用格式dd-MMM解析它-yy。尝试使用单独的日期格式来解析您正在编码的内容。
答案 2 :(得分:1)
SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
String strDate = “2007-12-25″;
Date date = null;
try {
date = format.parse(strDate);
} catch (ParseException ex) {
ex.printStackTrace();
}
答案 3 :(得分:0)
用于解析字符串的格式dd-MMM-yy
是错误的;格式应为dd-MM-yyyy
。
String startDate = "08-05-2010";
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date = dateFormat.parse((startDate));
请注意,Date
个对象本身没有格式:Date
个对象只表示日期和时间值,就像int
只是一个数字,而不是有任何固有的格式信息。如果您想以特定格式显示Date
,则必须再次使用DateFormat
对象进行格式化:
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy");
System.out.println(dateFormat.format(date));
// output: 08-May-10