如何将字符串转换为日期?JAVA
我有这个字符串:2014年6月7日。 我想转换为java.utils.Date 我使用这个代码如何将字符串转换为日期?JAVA,java,date,simpledateformat,Java,Date,Simpledateformat,我有这个字符串:2014年6月7日。 我想转换为java.utils.Date 我使用这个代码 SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); String dateInString = "7-Jun-2013"; try { Date date = formatter.parse(dateInString); System.ou
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)
使用
设置日期的格式。您对/
符号使用了错误的格式
另见:
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
SimpleDataFormat
按照您告诉它的方式查看给定字符串,因此在您的示例中,它会查找一个包含两个字符的字符串,这些字符表示天,后跟一个“/”符号,然后是两个字符表示月,依此类推使用SimpleDataFormat,您可以将日期字符串转换为日期字符串,并将日期字符串转换为日期字符串
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);
}
}
无论何时使用yo格式日期,请验证您使用的格式
在您的情况下,您使用的是
dd/MM/yyyy
,但在格式dd-MMM-yyyy
中使用的日期使用此代码。这很简单
Date date = new SimpleDateFormat("d-MMM-yyyy").parse("7-Jun-2014");
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));
}
}
对于简化格式为
dd/MM/yyyy
,您以d-MMM-yyyy
的格式向其提供的日期可能重复,显然它崩溃了。看看如何为日期格式创建日期字符串:为SimpleDataFormat提供的日期格式与搜索字符串不匹配。将日期格式更改为dd-MMM-yyyyyy我将获得此异常:线程“main”中的异常java.text.ParseException:Unparseable日期:java.text.DateFormat.parse(未知源代码)中的java.text.DateFormat.parse(未知源代码)中的java.abcsolution.util.Test.main(Test.java:10)
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));
}
}