Java Date与String的相互转换详解

Java Date与String的相互转换详解

在Java开发中,我们经常需要对日期时间进行处理和转换,而Java中常用的日期时间类型有两个:Date和String。本篇攻略将详细讲解Java Date和String的相互转换方法。

Date类型转换为String类型

将Date类型转换为String类型,常用的有以下两种方式:

方法一:使用SimpleDateFormat的format()方法

import java.text.SimpleDateFormat;
import java.util.Date;

public String dateToString(Date date, String pattern) {
    SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
    return dateFormat.format(date);
}

其中,date为要转换的日期对象,pattern为转换的日期格式,例如将日期对象转换成"yyyy-MM-dd HH:mm:ss"格式的字符串,可以这样调用:

Date date = new Date();
String str = dateToString(date, "yyyy-MM-dd HH:mm:ss");

方法二:使用DateTimeFormatter的format()方法

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

public String dateToString(Date date, String pattern) {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
    return LocalDateTime.parse(date.toString(), formatter).format(formatter);
}

其中,date为要转换的日期对象,pattern为转换的日期格式,例如将日期对象转换成"yyyy-MM-dd HH:mm:ss"格式的字符串,可以这样调用:

Date date = new Date();
String str = dateToString(date, "yyyy-MM-dd HH:mm:ss");

String类型转换为Date类型

将String类型转换为Date类型,常用的有以下两种方式:

方法一:使用SimpleDateFormat的parse()方法

import java.text.SimpleDateFormat;
import java.util.Date;

public Date stringToDate(String str, String pattern) throws ParseException {
    SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
    return dateFormat.parse(str);
}

其中,str为要转换的日期字符串,pattern为字符串的日期格式,例如将"2021-09-08 14:19:30"字符串转换成Date对象,可以这样调用:

String str = "2021-09-08 14:19:30";
Date date = stringToDate(str, "yyyy-MM-dd HH:mm:ss");

方法二:使用DateTimeFormatter的parse()方法

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

public Date stringToDate(String str, String pattern) {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
    LocalDateTime localDateTime = LocalDateTime.parse(str, formatter);
    return Date.from(localDateTime.atZone(ZoneOffset.systemDefault()).toInstant());
}

其中,str为要转换的日期字符串,pattern为字符串的日期格式,例如将"2021-09-08 14:19:30"字符串转换成Date对象,可以这样调用:

String str = "2021-09-08 14:19:30";
Date date = stringToDate(str, "yyyy-MM-dd HH:mm:ss");

示例

以下是两个使用示例:

示例一:Date转String

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Date date = new Date();
        String str = dateToString(date, "yyyy-MM-dd HH:mm:ss");
        System.out.println(str);
    }

    public static String dateToString(Date date, String pattern) {
        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
        return dateFormat.format(date);
    }
}

输出结果:

2021-09-08 14:42:46

示例二:String转Date

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
    public static void main(String[] args) throws ParseException {
        String str = "2021-09-08 14:19:30";
        Date date = stringToDate(str, "yyyy-MM-dd HH:mm:ss");
        System.out.println(date);
    }

    public static Date stringToDate(String str, String pattern) throws ParseException {
        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
        return dateFormat.parse(str);
    }
}

输出结果:

Wed Sep 08 14:19:30 CST 2021

以上就是Java Date与String的相互转换的详细攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Date与String的相互转换详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 什么是线程安全的缓存?

    以下是关于线程安全的缓存的完整使用攻略: 什么是线程安全的缓存? 线程安全的缓存是指在多线程环境下,多个线程可以同时访问缓存中的数据而不会出现不一致或程序崩溃等问题。在多线程编程中,线程安全的缓存是非常重要的,为多个线同时访问缓存,会出现线程争用的问题,导致数据不一致或程序崩溃。 如何实现线程安全的缓存? 了实现线程安全的缓存,需要使用同步机来保证多个线程对…

    Java 2023年5月12日
    00
  • Java经典面试题汇总:JVM

    Java经典面试题汇总:JVM JVM是什么? JVM(Java Virtual Machine,即Java虚拟机)是Java平台的一个重要组成部分,也是整个Java技术体系的核心所在。它是Java实现“一次编写,到处运行”的重要基石,同时也是Java能够拥有强大的跨平台能力的主要原因之一。 当我们运行Java程序时,JVM会解释并执行Java字节码,最终把…

    Java 2023年5月23日
    00
  • 详解Java的JDBC中Statement与PreparedStatement对象

    详解Java的JDBC中Statement与PreparedStatement对象 对于访问关系型数据库的Java应用程序来说,JDBC是必不可少的一部分。其中的Statement和PreparedStatement对象则是开发者必须熟练掌握的基本知识点。本篇文章将详细介绍Statement和PreparedStatement对象的概念以及如何在Java应用…

    Java 2023年6月16日
    00
  • Spring Boot如何使用Undertow代替Tomcat

    使用Undertow代替Tomcat是Spring Boot提高应用性能以及减少内存消耗的一种方式。下面是Spring Boot如何使用Undertow代替Tomcat的完整攻略: 1. 添加Undertow依赖 在Spring Boot项目的pom.xml文件中添加以下依赖: <dependency> <groupId>org.sp…

    Java 2023年6月2日
    00
  • Java数组,去掉重复值、增加、删除数组元素的方法

    Java数组是一种基本数据类型,通常用于存储一组相同类型的数据。常见的操作包括去掉重复值,增加数组元素以及删除数组元素等。本文将介绍Java数组的相关操作方法。 去掉重复值 我们可以利用set集合的特性来去掉数组中的重复值。下面是示例代码: int[] arr = {1, 2, 2, 3, 4, 4}; Set<Integer> set = ne…

    Java 2023年5月26日
    00
  • 同步代码块的作用是什么?

    以下是关于同步代码块的作用以及使用攻略的详细讲解: 同步代码块的作用 同步代码块是指在多线程编程中,使用 synchronized 关键字来保证多个线程对共享资源的访问的互斥性的一种代码块。同步代码块可以保证在同一时刻只有一个线程可以访问共享资源,从而避免了多个线程同时访问共享资源导致的数据不一致的问题。 同步代码块的使用 同步代码块的使用需要考虑以下几个方…

    Java 2023年5月12日
    00
  • Idea开发工具之SpringBoot整合JSP的过程

    接下来我会详细讲解在Idea开发工具中如何整合SpringBoot和JSP。 准备工作 在开始之前,确保你已经完成以下准备工作: 安装了JDK和Idea开发工具。 创建一个SpringBoot项目。 确保pom.xml中已经添加了对于Spring Web和Tomcat的依赖。 整合JSP 第一步:在pom.xml中添加依赖 在pom.xml中添加以下依赖: …

    Java 2023年6月15日
    00
  • java jackson 将对象转json时,忽略子对象的某个属性操作

    要忽略 Jackson 序列化对象中子对象的某个属性,可以使用 Jackson 的注解 @JsonIgnore 或 @JsonIgnoreProperties。下面是详细攻略: 1. @JsonIgnoreProperties @JsonIgnoreProperties 注解可以添加到需要进行序列化和反序列化的类上,以忽略某些属性。比如说有一个 User 类…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部