java - 如何在java中获取上次修改时间和当前系统日期时间差

标签 java

我有一个 API 代码,可以在文本文件中写入 token 。我需要检查上次更新时间和当前系统。如果差异为 20 分钟,它将生成一个新 token 。

问题是当我使用以下代码时我没有得到任何区别。如何以整数值的形式获得这些以分钟为单位的差异?

java.nio.file.Path path = Paths.get("C://Users//xxx//token.txt");
attributes = Files.readAttributes(path, BasicFileAttributes.class);
System.out.println("Updated Time : " + attributes.lastModifiedTime());
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));

最佳答案

转换为Instant并使用Instant.isAfter()进行比较方法。不要转换为 String,这仅在显示人类可读时间时有用。

Path path = Paths.get("C://Users//xxx//token.txt");
BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class);
Instant deadline = Instant.now().minus(20, ChronoUnit.MINUTES);
boolean itsTime = attributes.lastModifiedTime().toInstant().isAfter(deadline);

关于java - 如何在java中获取上次修改时间和当前系统日期时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54152749/

相关文章:

java - log4jdbc Java 8 兼容性

java - WebView 最小缩放太大,内部显示的表格未正确调整大小

java - 如何使用 Hibernate 和 spring MVC 在 Jsp 页面上显示数据库中的图像

java - 私有(private)方法的方法拦截器

java - 为 ProgressBar Java 添加容器监听器

java - 数据库:java.sql.Timestamp可以存储在oracle数据库中吗?

java - Rest api可以允许不安装splunk转发器吗?

java - 如何为 iOS 推送通知传递 JSON 对象

java - 检测目录中添加的新文件或修改的现有文件

java - 重命名类 - Java 中的字段值