登陆

JAVA中两个String类型的时间戳怎么样比较大小?

1.从数据库里面获得的时间戳是String类型的,要与当前时间比较,判断登陆是否过期
生成一long类型的当前时间,把String类型强制转换成long类型报错,代码如下:

   long currentTime = System.currentTimeMillis(); //当前时间
//        System.out.println("currentTime" + currentTime);
        long expireTime = Long.parseLong(token1.getExpireTime()); //过期时间
//        System.out.println("expireTime : " + expireTime);

错误信息如下:

java.lang.NumberFormatException: For input string: "1496733869286 "
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Long.parseLong(Long.java:589)
    at java.lang.Long.parseLong(Long.java:631)
    at com.tustcs.matrix.util.Interceptor.preHandle(Interceptor.java:45)
    at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:134)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:954)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)

2.发现控制台输出的当前时间不对
3.测试如下:

4.数据库信息如下:

# Java
为情所困为情所困1616 天前720 次浏览

全部回复(4)我要回复

  • 小皮

    小皮2017-06-12 09:29:09

    trim一下再转long

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-12 09:29:09

    java.lang.NumberFormatException: For input string: "1496733869286 "你看你后面有一个空格。

    PS. 你这个也不叫做“String类型强制转换成long类型报错”,概念错误了

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:29:09

    For input string: "1496733869286 " 为什么数字后面有个空格?

    回复
    0
  • 代言

    代言2017-06-12 09:29:09

    long i = 1234893584;String s = String.valueOf(i);这么转

    回复
    0
  • 取消回复发送