已解决java.lang.IllegalArgumentException异常的正确解决方法,亲测有效!!!

文章目录

    • 报错问题
    • 解决方法
    • 说明

报错问题

粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息如下:


很多人说这个异常是spring版本和jdk版本不一致导致的,其实不然你可以运行一下这一段代码

public static void main(String[] args) { String timeStamp = "1531782000000";//直接是时间戳// long timeStamp = System.currentTimeMillis();//获取当前时间戳,也可以是你自已给的一个随机的或是别人给你的时间戳(一定是long型的数据)SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//这个是你要转成后的时间的格式String sd = sdf.format(new Date(timeStamp)); // 时间戳转换成时间System.out.println(sd);//打印出你要的时间


如果测试出现和我一样的问题恭喜你问题找到了,如果meiy没有抱歉看看其他人的博客

我们继续往下看demo

 String timeStamp = "1531782000000";//直接是时间戳 long l=Long.parseLong(timeStamp);// long timeStamp = System.currentTimeMillis();//获取当前时间戳,也可以是你自已给的一个随机的或是别人给你的时间戳(一定是long型的数据)SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//这个是你要转成后的时间的格式String sd = sdf.format(new Date(l)); // 时间戳转换成时间System.out.println(sd);//打印出你要的时间

请细心观察上面demo与下面代码的区别

解决方法

解决方法如下


获取到我需要的转换出来的时间,问题是直接转换string类型的时间戳。会造成这个问题,如果我们把String类型的时间戳转换成Long 类型的时间戳再转换成时间就解决了。

说明

解决方法也是我在网上找的,如有侵权联系我删除