2016-11-29 56 views
-2

我是java的初学者。我是这个网站的新手。将字符串转换为日期时的java.text.ParseException

我试图将字符串转换为日期,但我收到解析异常。 以下是我的代码: 我在我的变量myDateValue中的值为Wed May 15 00:00:00 IST 2013 DateFormat sdf1 = new SimpleDateFormat(“dd-MMM-yyyy”,Locale.ENGLISH); java.util.Date myDate = sdf1.parse(myDateValue); java.sql.sqlDate = new java.sql.Date(myDate.getTime());

我得到以下异常:

java.text.ParseException: Unparseable date: "Wed May 15 00:00:00 IST 2013"

我也试过,但也它没有奏效:

DateFormat sdf1 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH); 
String formatdate = sdf1.format(myDateValue); 
java.util.Date myate = sdf1.parse(formatdate); 
java.sql.sqlDate = new java.sql.Date(myate.getTime()); 

为此,我得到了以下错误:

java.lang.IllegalArgumentException: Cannot format given Object as a Date

什么我做错了吗?

+0

第一代码:请问'周三5月15日00:00:00北京时间2013'样子'DD-MM-yyyy'? –

+0

第二个代码:这甚至不应该编译 –

+0

@ThomasWeller:主席先生,这只是为了我提供的信息。我已更正请你删除downvote –

回答

0

您的格式dd-MMM-yyyy是错误的。你的日期看起来像Wed May 15 00:00:00 IST 2013,所以你的格式应该是 - EEE MMM dd HH:mm:ss zzz yyyy

javadoc在模式字母深入详细的介绍。

编辑到地址评论。如果你希望你的日期是在dd-MMM-yyyy格式必须重新格式化 -

SimpleDateFormat originalFormat = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy"); 
Date date = originalFormat.parse(myDateValue); 
SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MMM-dd"); 
String myNewDate = newFormat.format(date); 
+0

我知道我以您指定的格式获取日期,但我希望我的日期是dd-MM-yyyy,所以我使用了该格式。 –

+0

@NitheshKumar检查编辑 – aandis