当前位置:首页 > Java

java如何计算时间

2026-02-05 06:50:47Java

计算时间差

使用 java.time 包中的 Duration 类可以计算两个时间点之间的差值。以下是示例代码:

import java.time.Duration;
import java.time.LocalTime;

LocalTime start = LocalTime.of(10, 30);
LocalTime end = LocalTime.of(14, 45);
Duration duration = Duration.between(start, end);

long hours = duration.toHours();
long minutes = duration.toMinutes() % 60;
System.out.println(hours + "小时" + minutes + "分钟");

日期加减

使用 LocalDateLocalDateTimeplusminus 方法可以对日期进行加减操作:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

LocalDate today = LocalDate.now();
LocalDate nextWeek = today.plus(1, ChronoUnit.WEEKS);
LocalDate yesterday = today.minusDays(1);

格式化时间

使用 DateTimeFormatter 可以将时间格式化为指定的字符串:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = now.format(formatter);
System.out.println(formattedDateTime);

时间戳转换

Instant 转换为时间戳(毫秒):

import java.time.Instant;

Instant instant = Instant.now();
long timestamp = instant.toEpochMilli();
System.out.println(timestamp);

将时间戳转换为 LocalDateTime

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;

long timestamp = 1625097600000L;
LocalDateTime dateTime = LocalDateTime.ofInstant(
    Instant.ofEpochMilli(timestamp), ZoneId.systemDefault()
);
System.out.println(dateTime);

比较时间

使用 isBeforeisAfterequals 方法比较时间:

java如何计算时间

import java.time.LocalTime;

LocalTime time1 = LocalTime.of(10, 30);
LocalTime time2 = LocalTime.of(12, 0);

if (time1.isBefore(time2)) {
    System.out.println("time1 在 time2 之前");
}

标签: 时间java
分享给朋友:

相关文章

java如何运行

java如何运行

运行Java程序的基本方法 Java程序的运行需要经过编写、编译和执行三个主要阶段。以下是具体步骤: 编写Java源代码 创建一个以.java为后缀的文件,例如HelloWorld.java。文件内…

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方法名…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

如何学习java语言

如何学习java语言

学习Java语言的系统方法 理解基础概念 Java是一种面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制流语句(if-else、循环)是第一步。熟悉类和对象的概念,理解封装、继承和多态三…

java面试官如何面试别人

java面试官如何面试别人

考察基础知识 从Java核心概念入手,包括面向对象特性(封装、继承、多态)、集合框架(ArrayList vs LinkedList、HashMap实现原理)、异常处理机制、多线程(线程池、锁机制)等…