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 字符串池的深入理解

    Java字符串池的深入理解 Java中的字符串池是Java语言的一个重要特性,它允许字符串对象在池中共享,从而减少内存的使用。在本文中,我们将深入理解Java字符串池的概念、原理和使用。 字符串池的概念 字符串池是一种特殊的内存区域,存储着Java中的字符串常量。在Java中,如果两个字符串常量的值相同,它们将指向同一个地址,从而实现了字符串的共享,避免了许…

    Java 2023年5月26日
    00
  • C# 中Excel导入时判断是否被占用三种方法

    下面是详细讲解 “C# 中 Excel 导入时判断是否被占用三种方法” 的完整攻略。 一、需求说明 在使用 C# 程序导入 Excel 数据时,可能会遇到一个问题,即当 Excel 文件正在被其他程序占用时,程序无法正确读取数据。因此我们需要通过一些方法判断 Excel 文件是否被其他程序占用。 二、方法一 第一种方法是通过 try…catch 来判断 …

    Java 2023年5月19日
    00
  • SpringBoot创建多模块项目的全过程记录

    我将为您详细讲解如何使用SpringBoot创建多模块项目的全过程记录。创建多模块项目有很多好处,例如可以将不同的功能模块独立开发、测试和维护,增加代码的可读性和可维护性。下面是创建多模块项目的步骤: 1. 创建maven的多模块工程 使用Maven创建一个新的多模块项目,一个工程包含多个子模块。在项目的根目录下,使用以下Maven命令创建一个多模块项目: …

    Java 2023年6月15日
    00
  • 解决Java中properties文件编码问题

    解决Java中properties文件编码问题可以按照以下步骤进行: 1. 观察properties文件的编码格式 首先需要确定properties文件的编码格式。常见的编码格式有ANSI、UTF-8、UTF-16等等。可以使用文本编辑器打开properties文件,查看编码格式。 2. 使用正确的字符集读取properties文件 读取properties…

    Java 2023年5月20日
    00
  • Java 数据库连接池 DBCP 的介绍

    Java 数据库连接池 DBCP 的介绍 什么是数据库连接池? 在传统的JDBC开发中,每次连接数据库都要进行数据库的连接和断开操作,这样会极大地浪费系统资源和时间,尤其是在高并发的情况下。为了解决这个问题,我们可以采用连接池技术,将一些连接预先放在池子中,在需要的时候从池子中获取连接,用完后再放回池子中,避免频繁的连接和断开操作。 DBCP 是什么? DB…

    Java 2023年5月19日
    00
  • Java中的Web MVC简介_动力节点Java学院整理

    Java中的Web MVC简介 Web MVC 是一种基于模型-视图-控制器(MVC)模式的 Web 应用程序开发框架。在 Java 中,我们可以使用多种 Web MVC 框架,例如 Spring MVC、Struts2 等。本文将详细讲解 Java 中的 Web MVC,包括 MVC 模式的基本概念、Web MVC 框架的基本原理、Spring MVC 的…

    Java 2023年5月18日
    00
  • Java日期时间使用方法汇总

    Java日期时间使用方法汇总 1. 日期时间的格式化 在Java中,可以使用SimpleDateFormat类来格式化日期时间。SimpleDateFormat的常见格式符如下: 符号 含义 yyyy 年份 MM 月份 dd 日期 HH 小时 mm 分钟 ss 秒 下面是一个示例代码: import java.text.SimpleDateFormat; i…

    Java 2023年5月20日
    00
  • Java spring mvc请求详情介绍

    Java Spring MVC是一个基于Java的web框架,它可以帮助我们快速的开发web应用程序。在Java Spring MVC中,处理请求的过程分为几个步骤,包括请求的映射、数据绑定、参数验证、业务逻辑处理、响应的渲染等等。 请求的映射 在Spring MVC中,每个请求都有一个对应的处理方法,这个处理方法就是通过@RequestMapping注解来…

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