当前位置:首页 > Java

java时间如何转化

2026-03-25 06:57:00Java

Java 时间转化方法

时间戳与日期互转

将时间戳(毫秒)转为 DateLocalDateTime

long timestamp = System.currentTimeMillis();
Date date = new Date(timestamp); // 传统方式
LocalDateTime localDateTime = Instant.ofEpochMilli(timestamp)
    .atZone(ZoneId.systemDefault())
    .toLocalDateTime(); // Java 8+

DateLocalDateTime 转为时间戳:

Date date = new Date();
long timestamp = date.getTime(); // 传统方式

LocalDateTime now = LocalDateTime.now();
long timestamp = now.atZone(ZoneId.systemDefault())
    .toInstant()
    .toEpochMilli(); // Java 8+

字符串与日期互转

使用 SimpleDateFormat(传统方式):

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date()); // 日期转字符串
Date date = sdf.parse("2023-10-01 12:00:00"); // 字符串转日期

使用 DateTimeFormatter(Java 8+):

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
String dateStr = now.format(formatter); // 日期转字符串
LocalDateTime parsedDate = LocalDateTime.parse("2023-10-01 12:00:00", formatter); // 字符串转日期

时区转换

将时间转换为其他时区:

LocalDateTime localDateTime = LocalDateTime.now();
ZonedDateTime zoned = localDateTime.atZone(ZoneId.of("Asia/Shanghai"))
    .withZoneSameInstant(ZoneId.of("America/New_York"));
System.out.println(zoned.toLocalDateTime());

时间差计算

计算两个时间点之间的差值(Java 8+):

LocalDateTime start = LocalDateTime.of(2023, 10, 1, 10, 0);
LocalDateTime end = LocalDateTime.of(2023, 10, 1, 12, 30);
Duration duration = Duration.between(start, end);
System.out.println(duration.toHours() + "小时"); // 输出:2小时

日期加减

对日期进行加减操作:

java时间如何转化

LocalDateTime now = LocalDateTime.now();
LocalDateTime future = now.plusDays(7).minusHours(3); // 加7天减3小时

兼容性说明

  • 传统方式(DateSimpleDateFormat)适用于 Java 7 及以下版本。
  • Java 8 及以上推荐使用 java.time 包(LocalDateTimeZonedDateTime 等),线程安全且功能更丰富。

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

相关文章

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件…

java如何创建类

java如何创建类

创建类的基本语法 在Java中,类通过class关键字定义,语法如下: [访问修饰符] class 类名 { // 成员变量(属性) // 构造方法 // 成员方法 }…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…

vue实现滚动时间

vue实现滚动时间

Vue 实现滚动时间的方法 在 Vue 中实现滚动时间可以通过多种方式完成,以下是几种常见的方法: 使用 CSS 动画和 Vue 数据绑定 通过 Vue 的数据绑定和 CSS 动画结合,可以实现平滑…