java时间格式转换出错
public static void main(String[] args) {java.text.ParseException: Unparseable date: "2011-12-31"
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date d=sdf.parse("2011-12-31");
System.out.println(d.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
at java.text.DateFormat.parse(Unknown Source) --------------------编程问答-------------------- 我感觉你输入的格式和你定义的格式不大一样吧 --------------------编程问答-------------------- 哥们,前面这么大的new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),你在后面搞个
parse("2011-12-31");
格式对不上啊 --------------------编程问答-------------------- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
--------------------编程问答-------------------- 是格式不对;
把yyyy-MM-dd HH:mm:ss改为yyyy-MM-dd; --------------------编程问答-------------------- 2011-12-31 15:23:30 --------------------编程问答-------------------- 输入的时间与转换格式不一致, --------------------编程问答--------------------
--------------------编程问答--------------------
public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
Date d=sdf.parse("2011-12-31");
System.out.println(d.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
--------------------编程问答--------------------
public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
Date d=sdf.parse("2011-12-31");
System.out.println(d.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
正解 --------------------编程问答-------------------- 去认真看看SimpleDateFormat 这个类以及DateFormat这些类的用法。API中有很多列子的。 --------------------编程问答-------------------- 2011-12-31后面必须跟时间2011-12-31 0:0:0
或者把yyyy-MM-dd HH:mm:ss 后面的hhmmss去掉 --------------------编程问答--------------------
public static void main(String[] args) {--------------------编程问答--------------------
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
System.out.println(sdf.format(new java.util.Date()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
+
申明格式是yyyy-MM-dd HH:mm:ss
给的值是 2011-12-31
你对比一下长度也发现错误了嘛!! --------------------编程问答-------------------- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd "); --------------------编程问答-------------------- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); --------------------编程问答-------------------- 前面这么大的new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),你在后面搞个
parse("2011-12-31");
格式对不上啊 --------------------编程问答-------------------- 格式都对不上,不知道LZ是怎样想的??? --------------------编程问答-------------------- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d=sdf.parse("2011-12-31");
定义的时间格式与输入参数格式要一样,才行。 --------------------编程问答-------------------- --------------------编程问答-------------------- 你的格式要求中必须有小时分钟秒钟,而你给的字符串中却没有 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
正解 --------------------编程问答--------------------
+++ --------------------编程问答-------------------- 楼上正解 --------------------编程问答-------------------- 格式没对上,要么"yyyy-MM-dd HH:mm:ss"改成"yyyy-MM-dd"
要么"2011-12-31" 改成"2011-12-31 00:00:00"
--------------------编程问答-------------------- 切记,格式要相对应嘛。。你声明了一个带时分秒的时间模板,实际传递的值却不带时分秒,计算机很难判断啊,他还在等待着你声明的那个时间格式呢。。要知道计算机可是很老实的,你说一他决不会说二,让他去东,他可不会说东面堵车,然后跑到西面。。 --------------------编程问答--------------------
补充:Java , Java SE