当前位置:首页 > 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(传统方式):

java时间如何转化

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); // 字符串转日期

时区转换

将时间转换为其他时区:

java时间如何转化

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小时

日期加减

对日期进行加减操作:

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中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…