2010年4月5日,字符串必须转换为Java中的日期
我有这个密码2010年4月5日,字符串必须转换为Java中的日期,java,string,date,Java,String,Date,我有这个密码 String fromDate = "April 5, 2010"; DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); java.util.Date dtt; try { dtt = df.parse(fromDate); java.sql.Date ds = new java.sql.Date(dtt.getTime()); System.out.println(ds);
String fromDate = "April 5, 2010";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date dtt;
try {
dtt = df.parse(fromDate);
java.sql.Date ds = new java.sql.Date(dtt.getTime());
System.out.println(ds);
} catch (ParseException ex) {}
但是,这将输出到
java.text.ParseException: Unparseable date: "April 5, 2010"
您正试图解析一种格式,该格式使用空格和逗号写出文本,并使用一种格式指定只有数字和分隔符。尝试在您的
SimpleDateFormat
构造函数中使用此字符串:“MMM dd,yyyy”
传入SimpleDateFormat的格式必须与输入日期匹配。输入日期-“2010年4月5日”,因此解析输入日期的格式必须为“MMM dd,yyyy”
试试这个:
DateFormat df = new SimpleDateFormat("MMM dd, yyyy");
您的fromDate
(2010年4月5日)不是dd/MM/yyyy
格式
如果您将formDate
更改为-
String fromDate = "April 5, 2010";
至-
然后可以使用以下代码段-
String fromDate = "5-April-10";
formatter = new SimpleDateFormat("dd-MMMM-yy");
convertedDate = (Date) formatter.parse(fromDate);
System.out.println("Converted Date: " +convertedDate);
您将无法使用不同格式的DateFormat解析日期。您应该使用SimpleDataFormat并指定表示正在解析的内容的格式字符串
DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy");
Date formatted = formatter.parse(fromDate);
//Whatever you need to do
希望下面的代码有帮助
String fromDate = "April 5, 2010";
DateFormat df = new SimpleDateFormat("MMM dd, yyyy");
java.util.Date dtt;
try {
dtt = (Date)df.parse(fromDate);
java.sql.Date ds = new java.sql.Date(dtt.getTime());
System.out.println(ds);
System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(ds));
} catch (ParseException ex) {}
您说您的字符串的格式为dd/MM/yyyy,但它显然没有。您可以找到所有可能的“字母”格式。请在您的答案中添加一些解释。以SimpleDateFormat传递的格式必须与您的输入日期匹配。输入日期-“2010年4月5日”,因此解析输入日期的格式必须为“MMM dd,yyyy”。在回答中提供更多细节很有用。这有助于访问者和评论者。我把你的评论复制到了答案中——一个例子。
String fromDate = "April 5, 2010";
DateFormat df = new SimpleDateFormat("MMM dd, yyyy");
java.util.Date dtt;
try {
dtt = (Date)df.parse(fromDate);
java.sql.Date ds = new java.sql.Date(dtt.getTime());
System.out.println(ds);
System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(ds));
} catch (ParseException ex) {}