将字符串"11-10-10 12:00:00"转换为日期对象。
将字符串"11-10-10 12:00:00"转换为日期对象。
我想将字符串\"11-10-10 12:00:00\"转换为一个Date对象,但是我无法做到。你能帮我吗?我有一个值为\"Mon Oct 11 00:00:00 IST 2010\"的Date对象。\n我使用了DateFormat和SimpleDateFormat来格式化日期,代码如下:\nDateFormat newDateFormat = new SimpleDateFormat(\"dd-MM-yy hh:mm:ss\");\nString strDate = newDateFormat.format(tempDate);\n// 我得到的strDate是:11-10-10 12:00:00\nDateFormat newDateFormat1 = new SimpleDateFormat(\"dd-MM-yy hh:mm:ss\");\ntry {\n tempDate = newDateFormat1.parse(strDate);\n // 我得到的tempDate是:Mon Oct 11 00:00:00 IST 2010\n} catch (ParseException e) {\n // TODO Auto-generated catch block\n e.printStackTrace();\n}
问题的原因是需要将一个字符串转换为日期对象,但是代码中使用的是C#语言的DateTime.Parse方法,而不是Java语言的方法。解决方法是使用Java的日期解析方法来实现。
以下是解决该问题的Java代码:
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { String str = "11-10-10 12:00:00"; SimpleDateFormat dateFormat = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); try { Date date = dateFormat.parse(str); System.out.println(date); } catch (ParseException e) { e.printStackTrace(); } } }
通过使用SimpleDateFormat类的parse方法,我们可以将字符串转换为日期对象。在代码中,我们使用了"yy-MM-dd HH:mm:ss"作为日期格式,与输入字符串的格式相匹配。
这样,我们就能够将字符串"11-10-10 12:00:00"转换为日期对象了。
问题的原因是代码中的日期格式和期望的输出日期格式不一致。代码中使用的日期格式是"dd-MM-yy HH:mm:ss",而期望的输出日期格式是"dd-MM-yy HH:mm:ss"。
解决方法是使用SimpleDateFormat类的format方法将Date对象转换成期望的日期格式。
下面是修改后的代码:
DateFormat newDateFormat = new SimpleDateFormat("dd-MM-yy HH:mm:ss"); Date d = newDateFormat.parse("11-10-10 12:00:00"); String formattedDate = newDateFormat.format(d); System.out.println(formattedDate);
这样,就能够将字符串"11-10-10 12:00:00"转换成期望的日期格式"dd-MM-yy HH:mm:ss"并输出。