上一篇
Java中时间运算有哪些具体方法与技巧?如何实现时间加减、格式转换等操作?
- 后端开发
- 2025-10-11
- 5
在Java中,时间运算通常涉及到日期和时间的处理,Java提供了丰富的API来处理时间,如java.util.Date、java.util.Calendar、java.time包中的类等,以下是一些常用的时间运算方法:
使用java.util.Date和java.util.Calendar
-
获取当前时间:
Date now = new Date(); -
设置时间:
Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2025); calendar.set(Calendar.MONTH, Calendar.JANUARY); calendar.set(Calendar.DAY_OF_MONTH, 1); -
计算时间差:
Date date1 = new Date(); Date date2 = new Date(date1.getTime() + 1000); // 增加一秒 long diff = date2.getTime() date1.getTime(); -
格式化时间:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); String formattedDate = sdf.format(now);
使用java.time包
java.time包是Java 8引入的,它提供了更加强大和易于使用的时间日期API。
-
获取当前时间:
LocalTime now = LocalTime.now();
-
设置时间:

-
计算时间差:
Duration duration = Duration.between(now, dateTime); long seconds = duration.getSeconds(); -
格式化时间:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss"); String formattedDate = dateTime.format(formatter); -
使用java.util.Date:

Date now = new Date();
-
使用java.time包:
Q2:Java中如何计算两个日期之间的时间差?
A2:可以使用java.util.Date或java.time包中的类来计算两个日期之间的时间差。
-
使用java.util.Date:
Date date1 = new Date(); Date date2 = new Date(date1.getTime() + 1000); // 增加一秒 long diff = date2.getTime() date1.getTime(); -
使用java.time包:
Duration duration = Duration.between(now, dateTime); long seconds = duration.getSeconds();

-
表格对比
| 方法 | java.util.Date | java.time |
|---|---|---|
| 获取当前时间 | Date now = new Date(); | LocalTime now = LocalTime.now(); |
| 设置时间 | Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2025); | LocalDateTime dateTime = LocalDateTime.of(2025, 1, 1, 0, 0, 0); |
| 计算时间差 | long diff = date2.getTime() date1.getTime(); | Duration duration = Duration.between(now, dateTime); |
| 格式化时间 | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); String formattedDate = sdf.format(now); | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss"); String formattedDate = dateTime.format(formatter); |
FAQs
Q1:Java中如何获取当前日期和时间?
A1:可以使用java.util.Date或java.time包中的类来获取当前日期和时间。