java new date(str) 在tostring() 对象会报错?为啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java new date(str) 在tostring() 对象会报错?为啥?相关的知识,希望对你有一定的参考价值。
String str = "1999-9-9 11:20:30";
Date d = new Date(str);
System.out.println(d.toString());
in thread "main" java.lang.IllegalArgumentException
at java.util.Date.parse(Date.java:615)
at java.util.Date.<init>(Date.java:272)
at comperable.test3.dateTimeString(test3.java:51)
at comperable.test3.main(test3.java:21)
Date d = new Date();
System.out.println(d.toString());
看下应该传入什么格式的参数(应该是这种格式Fri Jan 09 06:28:34 CST 2015)
String str = "Thu Jan 08 16:28:34 CST 2015";
Date d = new Date(str);
System.out.println(d.toString());
这段代码就不会报错
话说date与String的相互转换,百度一下有很多方法,这个Date d = new Date(str);这个方法已经过时了,不提倡使用。 参考技术A
Date d = new Date(str); 你这么写是没有(用法上)错误的,但是不可取
Date类的 Date(Str) 构造方法已经过期,不赞成使用
Date(Str) 构造方法,其源码内部,也是对str字符串进行解析,再装换成时间
由于在用法上没有错,那么你在使用new Date(str)实例对象时,str的格式不正确,导致解析错误,从错误信息也可以看出来
at java.util.Date.parse(Date.java:615) -- Date.parse() 解析方法出错
因为不赞成使用Date(str),所以不给你此方法的使用说,正确的方法如下:
tryString str = "1999-9-9 11:20:30";
DateFormat df = new SimpleDateFormat("yyyy-M-d HH:mm:ss");
Date date = df.parse(str);
catch (ParseException e)
e.printStackTrace();
参考技术B 错误原因是:参数非法。
Date(String str) 这个构造函数已经不被推荐使用了,就是说它有bug。如果你一定要这么用的话,那你的参数要改为:"9 Sep 1999 11:20:30" 参考技术C 你那个API方法已经过时了;用这个吧:
String str = "1999-9-9 11:20:30";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(str);
System.out.println(d.toString()); 参考技术D 大写的m代表的是月,小写的m则是分钟,当然不能乱用。
日期格式:yyyymmdd
hh:mm:ss
yyyy:代表年份
mm:
代表月份
dd:
代表天
hh:
代表小时(24小时制)
mm:
代表分钟
ss:
代表秒
java date怎样赋值?
model.datecustspecsaved是一个date类型
java 中date赋值方法:
1.通过new对象获取当前的时间复制给date;
Date date=new Date();2.通过SimpleDateFormat将字符串转换为date:
SimpleDateFormat format= new SimpleDateFormat("yyyy年MM月dd HH:mm:ss");Date date=format.parse(str);//str表示yyyy年MM月dd HH:mm:ss格式字符串
3.通过Calendar获得date
Calendar calendar=Calendar.getInstance();Date date=calendar.getTime(); 参考技术A 你的代码是正确的,只不过format.parse(myDate)方法有声明抛出异常java.text.parseException。这是正常的,你只需要对这行代码捕获异常就可以了。如:
try
model.set_datecustspecsaved(format.parse(myDate));
catch(Exception e)
。。。
本回答被提问者采纳 参考技术B 需要try-catch一下 参考技术C 写个try/catch就可以了 参考技术D 没处理异常,写的小脚本么?
以上是关于java new date(str) 在tostring() 对象会报错?为啥?的主要内容,如果未能解决你的问题,请参考以下文章
c# 获取当前时间var str = DateTime.Now.Date.ToString("yyyyMMdd");
c# 获取当前时间var str = DateTime.Now.Date.ToString("yyyyMMdd");