我正在使用jdk-1.6。 我试着解析字符串“24-10-2012”日期到日期(24-10-2012)但我收到此错误:
java.text.ParseException: Unparseable date: "18-11-2012"
java.text.DateFormat.parse(DateFormat.java:354)
我正在解析这个:
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
Date date = formatter.parse(currentDate);
答案 0 :(得分:3)
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
System.out.println(formatter.parse(currentDate));
打印
Wed Oct 24 00:00:00 CEST 2012
使用您发布的代码无法重现您的问题。
我的假设:您的异常是从您指责错误的代码之外的代码中抛出的。您可以尝试仔细分析堆栈跟踪,以便追踪真正的罪魁祸首。
答案 1 :(得分:1)
java中的日期不包含任何格式。阅读more...
答案 2 :(得分:0)
当我跑步时
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
Date date = formatter.parse(currentDate);
System.out.println(date);
System.out.println(formatter.format(date));
我得到了
Wed Oct 24 00:00:00 BST 2012
24-10-2012
这正如我所料。你能澄清问题是什么吗?
答案 3 :(得分:0)
您可以使用此格式“dd-mm-yyyy”
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
Date date = formatter.parse(currentDate);
System.out.println(formatter.format(date));
答案 4 :(得分:0)
import java.util.Date;
import java.text.SimpleDateFormat;
public class SimpleFormatDate
{
public static void main(String args[]){
Date todaysDate = new java.util.Date();
// Formatting date into yyyy-MM-dd HH:mm:ss e.g 2008-10-10 11:21:10
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = formatter.format(todaysDate);
System.out.println("Formatted date is ==>"+formattedDate);
// Formatting date into yyyy-MM-dd e.g 2008-10-10
formatter = new SimpleDateFormat("yyyy-MM-dd");
formattedDate = formatter.format(todaysDate);
System.out.println("Formatted date is ==>"+formattedDate);
// Formatting date into MM/dd/yyyy e.g 10/10/2008
formatter = new SimpleDateFormat("MM/dd/yyyy");
formattedDate = formatter.format(todaysDate);
System.out.println("Formatted date is ==>"+formattedDate);
}
}
输出
Formatted date is ==>2008-10-10 13:03:54
Formatted date is ==>2008-10-10
Formatted date is ==>10/10/2008
答案 5 :(得分:-1)
等一下..如果你有正确的值,为什么你需要解析? 无论如何,我用这个:
SimpleDateFormat oFormat = new SimpleDateFormat("yyyy-MM-dd");
String sDate = oFormat.format("24-10-2012");
它会出现像2012-10-24这样的日期。所以如果你想解析为dd-MM-yyyy,你只需要将格式改为你想要的格式。
注意:如果我的英语不好,抱歉。 :d