java时间戳类型如何比较大小_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.测试如下:

29c8a27c7f4bd028e10943eef0c0a697.png

4.数据库信息如下:

8ea1a6fb88de1014d05fb73779c2e33d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java,可以使用SimpleDateFormat类来比较两个字符串类型时间戳: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1 = sdf.parse(timestamp1); Date d2 = sdf.parse(timestamp2); if (d1.getTime() > d2.getTime()) { System.out.println("timestamp1 比 timestamp2 更大"); } else if (d1.getTime() < d2.getTime()) { System.out.println("timestamp1 比 timestamp2 更小"); } else { System.out.println("timestamp1 和 timestamp2 相等"); } ### 回答2: 在Java,可以使用`String`的`compareTo()`方法来比较两个字符串的大小。 假设有两个`String`类型时间戳字符串`t1`和`t2`,可以使用以下代码实现比较: ```java String t1 = "2021-01-01 12:00:00"; String t2 = "2022-01-01 12:00:00"; // 使用compareTo()方法进行比较 int result = t1.compareTo(t2); if (result < 0) { System.out.println("t1小于t2"); } else if (result > 0) { System.out.println("t1大于t2"); } else { System.out.println("t1等于t2"); } ``` 在这段代码,`compareTo()`方法会将`t1`和`t2`进行字典序比较。如果`t1`小于`t2`,则返回一个负整数;如果`t1`大于`t2`,则返回一个正整数;如果`ti`与`t2`相等,则返回0。 代码的`result`变量保存了比较结果。根据`result`的值,我们可以确定`t1`和`t2`的大小关系,并输出相应的结果。 需要注意的是,时间戳字符串的格式在比较之前必须要统一,以确保比较的准确性。 ### 回答3: 在Java,可以使用`parse()`方法将String类型时间戳转换为日期对象,然后使用`compareTo()`方法比较两个日期对象的大小。 下面是一个简单的Java代码示例: ```java import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class CompareTimestamps { public static void main(String[] args) { String timestamp1 = "2022-01-01 12:00:00"; String timestamp2 = "2022-01-02 12:00:00"; DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { // 将String类型时间戳转换为Date对象 Date date1 = dateFormat.parse(timestamp1); Date date2 = dateFormat.parse(timestamp2); // 比较两个日期对象的大小 if (date1.compareTo(date2) < 0) { System.out.println("timestamp1 小于 timestamp2"); } else if (date1.compareTo(date2) > 0) { System.out.println("timestamp1 大于 timestamp2"); } else { System.out.println("timestamp1 等于 timestamp2"); } } catch (Exception e) { e.printStackTrace(); } } } ``` 运行以上代码,将输出`timestamp1 小于 timestamp2`,表示`timestamp1`的时间比`timestamp2`早。 注意:以上代码假设输入的时间戳格式为"yyyy-MM-dd HH:mm:ss",如果实际的时间戳格式不同,需要相应地修改`SimpleDateFormat`的参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值