Java Date与String的相互转换详解

yizhihongxing

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短网址服务(TinyURL)生成算法

    Java短链接服务(TinyURL)是一种将长链接转换为短链接的算法方法,常用于缩短URL长度,方便用户分享和保存网址。下面是Java短链接服务的完整攻略。 1.将长链接转换为短链接的算法 Java短链接服务的核心是将长链接转换为短链接,其具体算法步骤如下: 1.1 首先生成长链接的哈希码。 1.2 将哈希码分为4段,每段5位。 1.3 将这些5位哈希码转换…

    Java 2023年5月19日
    00
  • java反射方式创建代码详解

    让我来为您详细讲解“Java反射方式创建代码详解”的完整攻略。 什么是Java反射 Java反射是指在程序运行时动态地获取类的信息以及动态调用类的方法的机制。Java反射机制提供了在运行时检查和修改类、方法和属性的能力。 Java反射方式创建代码详解 在Java中,我们可以使用反射机制来创建新的类实例、触发方法调用、获取类的属性等。下面将介绍利用反射机制来创…

    Java 2023年5月30日
    00
  • SpringBoot+ShardingSphereJDBC实现读写分离详情

    下面是使用SpringBoot和ShardingSphereJDBC实现读写分离的详细攻略。 一、什么是ShardingSphereJDBC ShardingSphereJDBC是一款分布式数据库中间件,它提供了分库分表、读写分离、分布式事务等功能,并与主流的ORM框架(如Spring JDBC,MyBatis,JPA等)深度集成,让应用开发者无需改变已有的…

    Java 2023年5月20日
    00
  • 分布式Hibernate search详解

    分布式Hibernate Search详解 什么是Hibernate Search? Hibernate Search是一个用于全文搜索的Java库,它使用Apache Lucene底层实现,并集成了Hibernate ORM框架。使用Hibernate Search,我们可以很方便地实现复杂的搜索功能,例如全文搜索、过滤、排序和聚合等。 什么是分布式Hib…

    Java 2023年5月20日
    00
  • Java C++题解leetcode1598文件夹操作日志搜集器

    让我详细地讲解一下Java C++题解LeetCode 1598文件夹操作日志搜集器的完整攻略。 简介 这是一道LeetCode的题目。题目描述为:假设您正在设计一款简单的奇怪编辑器,每次打开它时,编辑器都会仅显示全部文本中最后一次输入的字符。执行一些操作后,您希望能够查看并恢复到某些之前的状态。为了实现这个功能,您需要设计一个操作日志记录数据结构。该数据结…

    Java 2023年5月20日
    00
  • Spring Security之默认的过滤器链及自定义Filter操作

    Spring Security 是 Spring 框架中提供的安全管理框架,它是基于 Servlet 过滤器实现的。 默认的过滤器链 Spring Security 在初始化时会自动生成一整套默认的过滤器链,这些过滤器链是按顺序有序地执行的。因为每个过滤器链都有特定的功能和处理逻辑,对于一个用户的请求,在整个过滤器链中会按照顺序经过每一个过滤器链的处理。最终…

    Java 2023年5月20日
    00
  • Android 仿微信小程序入口动画

    下面是关于“Android 仿微信小程序入口动画”的完整攻略: 背景介绍 最近微信小程序入口动画特别火,很多开发者都想学习实现这个动画效果,本文将介绍如何使用Android实现这个动画效果。 实现步骤 首先,我们需要在布局文件中添加一个LinearLayout,这个LinearLayout是用来放置小程序入口动画的。 xml <LinearLayout…

    Java 2023年5月23日
    00
  • MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

    下面是详细讲解”MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)”的完整攻略。 一、概述 MyBatis是一款基于Java语言的持久层框架,可以将SQL与业务逻辑分离,使得代码更加清晰易读,此外,MyBatis还提供了升级数据库方面的支持,无需编写太多的SQL脚本,MyBatis的性能表现也非常不错。而在MyBatis中,SQL语句连接参数…

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