我有这个字符串:7 -Jun- 2014。 我想转换为java.utils.Date;
我使用此代码
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String dateInString = "7-Jun-2013";
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
但我得到了这个例外:
java.text.ParseException: Unparseable date: "7-Jun-2013"
at java.text.DateFormat.parse(Unknown Source)
at ma.abcsolution.util.Test.main(Test.java:15)
答案 0 :(得分:1)
尝试使用
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
SimpleDateFormat
看一下你告诉它的给定字符串,所以在你的例子中它会查找一个包含2个字符的字符串,然后是' /'签署,然后是月份的2个字符等等
答案 1 :(得分:0)
使用
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
格式化日期。您使用了/
符号的错误格式。
另见:
答案 2 :(得分:0)
使用SimpleDateFormatter,您可以将日期字符串转换为日期和日期转换为日期字符串
public final class DateUtil {
private static final String DEFAULT_DATE_FORMAT = "dd-MMM-yyyy";
private DateUtil() {
}
public static final String formatDate(final Date date, final String dateFormat) {
DateFormat format = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
return format.format(date);
}
public static final Date formatDate(final String date) throws ParseException {
return formatDate(date, DEFAULT_DATE_FORMAT);
}
public static final Date formatDate(final String date, final String dateFormat) throws ParseException {
DateFormat format = new SimpleDateFormat(dateFormat);
return format.parse(date);
}
}
每当您要格式化日期时,请验证您使用的格式
在您的情况下,您使用的是dd/MM/yyyy
,但使用的格式为dd-MMM-yyyy
。
答案 3 :(得分:0)
Date date = new SimpleDateFormat("d-MMM-yyyy").parse("7-Jun-2014");
答案 4 :(得分:0)
使用此代码。这很简单。
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTime {
public static void main(String args[]){
SimpleDateFormat ft = new SimpleDateFormat("dd/MM/yyyy");
String dateInString = "7-Jun-2013";
Date date=new Date(dateInString);
System.out.println(ft.format(date));
}
}