我正在使用Java应用程序,尝试创建Date对象时遇到一些问题:
所以我做了:
Calendar dataRendimentoLordoCertificatoCalendar = Calendar.getInstance();
dataRendimentoLordoCertificatoCalendar.set(annoCorrente - 1, 10, 01);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dataRendimentoLordoCertifiacato = new Date(sdf.format(dataRendimentoLordoCertificatoCalendar.getTime()));
使用Eclipse调试器,我可以看到sdf.format(dataRendimentoLordoCertificatoCalendar.getTime())的值(作为参数传递给Date构造函数)是2015-11-01(这是我的期望:2015年11月的第一天) )。
问题是执行此行时:
Date dataRendimentoLordoCertifiacato = new Date(sdf.format(dataRendimentoLordoCertificatoCalendar.getTime()));
我得到此异常:
Exception in thread "main" java.lang.IllegalArgumentException
at java.util.Date.parse(Date.java:598)
at java.util.Date.<init>(Date.java:255)
at com.mycompany.dbmanager.MyProject.getRendimentoLordoCertificato(PucManager.java:64)
为什么?我想念什么?如何解决此问题?
特纳克斯
我不知道为什么要这种解决方案,但是如果要使用String(getTime的返回类型),则必须使用解析,如下所示:
public static void main(String[] args) throws ParseException {
Calendar dataRendimentoLordoCertificatoCalendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dataRendimentoLordoCertifiacato = sdf.parse(sdf.format(dataRendimentoLordoCertificatoCalendar.getTime()));
System.out.println(dataRendimentoLordoCertifiacato);
}
但是,我不知道您到底想要什么。因为您有DATE,所以您是该日期的getString字符串,然后将其解析回日期:-D
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句