Java中字符串转时间与时间转字符串的操作详解

 更新时间:2025年04月25日 10:22:43   作者:Java皇帝  
Java 的 java.time 包提供了强大的日期和时间处理功能,通过 DateTimeFormatter 可以轻松地在日期时间对象和字符串之间进行转换,下面小编给大家详细介绍一下Java中字符串转时间与时间转字符串的操作,需要的朋友可以参考下

一、字符串转时间

在 Java 中,可以使用 java.time 包中的 DateTimeFormatter 类将字符串格式的日期时间转换为 LocalDateTime 或 ZonedDateTime 对象。

(一)使用预定义格式

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

public class StringToDateExample {
    public static void main(String[] args) {
        String isoDateTime = "2023-10-11T12:34:56";
        DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
        LocalDateTime dateTime = LocalDateTime.parse(isoDateTime, formatter);
        System.out.println("解析后的日期时间: " + dateTime);
    }
}

(二)自定义格式

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

public class CustomStringToDateExample {
    public static void main(String[] args) {
        String customDateTime = "2023-10-11 12:34:56";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime dateTime = LocalDateTime.parse(customDateTime, formatter);
        System.out.println("解析后的日期时间: " + dateTime);
    }
}

二、时间转字符串

将日期时间对象格式化为字符串,可以使用 DateTimeFormatter 类。

(一)使用预定义格式

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

public class DateToStringExample {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
        String formattedDate = now.format(formatter);
        System.out.println("ISO格式日期时间: " + formattedDate);
    }
}

(二)自定义格式

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

public class CustomDateToStringExample {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattedDate = now.format(formatter);
        System.out.println("自定义格式日期时间: " + formattedDate);
    }
}

三、处理不同时区的日期

在处理不同时区的日期时,可以使用 ZonedDateTime 类。

(一)字符串转带时区的日期时间

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class StringToZonedDateTimeExample {
    public static void main(String[] args) {
        String zonedDateTimeString = "2023-10-11T12:34:56-04:00";
        DateTimeFormatter formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME;
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(zonedDateTimeString, formatter);
        System.out.println("解析后的带时区日期时间: " + zonedDateTime);
    }
}

(二)带时区的日期时间转字符串

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class ZonedDateTimeToStringExample {
    public static void main(String[] args) {
        ZonedDateTime now = ZonedDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
        String formattedDate = now.format(formatter);
        System.out.println("带时区的日期时间字符串: " + formattedDate);
    }
}

四、总结

Java 的 java.time 包提供了强大的日期和时间处理功能,通过 DateTimeFormatter 可以轻松地在日期时间对象和字符串之间进行转换。

到此这篇关于Java中字符串转时间与时间转字符串的操作详解的文章就介绍到这了,更多相关Java字符串与时间互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot集成Kafka并使用多个死信队列详解

    SpringBoot集成Kafka并使用多个死信队列详解

    这篇文章主要为大家详细介绍了SpringBoot集成Kafka并使用多个死信队列的示例代码,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05
  • springboot过滤器执行两次的解决及跨域过滤器问题

    springboot过滤器执行两次的解决及跨域过滤器问题

    这篇文章主要介绍了springboot过滤器执行两次的解决及跨域过滤器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java多线程编程之CountDownLatch同步工具使用实例

    Java多线程编程之CountDownLatch同步工具使用实例

    这篇文章主要介绍了Java多线程编程之CountDownLatch同步工具使用实例,需要的朋友可以参考下
    2015-05-05
  • Java验证日期时间字符串是否合法的三种方式

    Java验证日期时间字符串是否合法的三种方式

    判断日期经常合法出现在IO场景下,下面将尽量使用简练的思路和代码呈现给大伙,这篇文章主要给大家介绍了关于Java验证日期时间字符串是否合法的三种方式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Java多态向上转型和向下转型及优点总结

    Java多态向上转型和向下转型及优点总结

    多态指不同对象对同一方法呈现不同行为,通过向上转型和重写实现,提升代码灵活性与可扩展性,降低复杂度,这篇文章主要介绍了Java多态向上转型和向下转型及优点的相关资料,需要的朋友可以参考下
    2025-06-06
  • Java8新特性:函数式编程

    Java8新特性:函数式编程

    Java8最新引入函数式编程概念,该项技术可以大大提升编码效率,本文会对涉及的对象等进行两种方法的对比,对新技术更直白的看到变化,更方便学习
    2021-06-06
  • Java字符串中有多个分隔符的处理方式

    Java字符串中有多个分隔符的处理方式

    这篇文章主要介绍了Java字符串中有多个分隔符的处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • EditPlus运行java时从键盘输入数据的操作方法

    EditPlus运行java时从键盘输入数据的操作方法

    这篇文章主要介绍了EditPlus运行java时从键盘输入数据的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 使用MyBatis 动态update数据

    使用MyBatis 动态update数据

    使用mybatis写sql,需要动态更新对象数据,每次需要更新的字段不同,为了防止null空异常,就需要用动态sql了,下面给大家分享一段代码关于mybatis动态update,需要的朋友参考下
    2016-11-11
  • Java中的自动装箱与自动拆箱的实现

    Java中的自动装箱与自动拆箱的实现

    自动装箱和自动拆箱使得我们在使用基本数据类型时更加方便,同时也提高了代码的可读性和健壮性,本文将详细介绍Java中的自动装箱和自动拆箱机制,感兴趣的可以了解一下
    2023-08-08

最新评论