如何在 Java 中把日期转换为字符串

Mohammad Irfan 2023年10月12日
  1. 在 Java 中使用 SimpleDateFormat 将日期 Date 转换为字符串 String
  2. 使用 Java 中的 DateFormatUtils 类将日期 Date 转换为字符串 String
  3. 在 Java 中使用 DateTimeFormatterDate 转换为 String
  4. 在 Java 中将日期 Date 转换为带有时区信息的字符串 String
  5. 用 Java 中的 String 类将日期 Date 转换为字符串 String
如何在 Java 中把日期转换为字符串

本教程介绍了如何在 Java 中把 java.util.Date 转换为 String,并列举了一些示例代码来理解它。

Java 有几个类和方法可以帮助将 Date 转换为 String,比如使用 SimpleDateFormatDateFormatUtilsDateTimeFormatter 类。

在 Java 中使用 SimpleDateFormat 将日期 Date 转换为字符串 String

这里,我们使用 SimpleDateFormat 类的 format() 方法从 Java 中的 util.Date 对象获取字符串 String

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

public class SimpleTesting {
  public static void main(String[] args) throws ParseException {
    DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    Date date = new Date();
    String dateToStr = dateFormat.format(date);
    System.out.println("Date is " + dateToStr);
  }
}

输出:

Date is 21/09/2020 08:48:01

使用 Java 中的 DateFormatUtils 类将日期 Date 转换为字符串 String

如果你使用的是 Apache 库,那么使用 DateFormateUtils 类的 format() 方法。它在 Java 中把 java.util.Date 转换为字符串后返回一个字符串。

import java.text.ParseException;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;

public class SimpleTesting {
  public static void main(String[] args) throws ParseException {
    Date date = new Date();
    String dateToStr = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:SS");
    System.out.println("Date is " + dateToStr);
  }
}

输出:

Date is 2020-09-21 08:51:203

在 Java 中使用 DateTimeFormatterDate 转换为 String

在这里,我们使用 format() 方法,它将 ofPattern() 方法作为参数,并返回日期的字符串表示。请看下面的例子。

import java.text.ParseException;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) throws ParseException {
    Date date = new Date();
    String dateToStr =
        date.toInstant().atOffset(ZoneOffset.UTC).format(DateTimeFormatter.ofPattern("dd-MM-yyyy"));
    System.out.println("Date is " + dateToStr);
  }
}

输出:

Date is 21-09-2020

在 Java 中将日期 Date 转换为带有时区信息的字符串 String

这里,我们使用 DateTimeFormatter 类的 format() 方法从 java.util.date 转换后得到字符串。因为我们在 ofPattern() 方法中指定了日期-时间格式,所以我们得到了时区和日期。

import java.text.ParseException;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) throws ParseException {
    Date date = new Date();
    DateTimeFormatter format =
        DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z").withZone(ZoneId.systemDefault());
    String dateToStr = format.format(date.toInstant());
    System.out.println("Date is " + dateToStr);
  }
}

输出:

Date is 2020-09-21 09:10:23:991 +0530

用 Java 中的 String 类将日期 Date 转换为字符串 String

这是一个最简单的解决方案,以获得一个 java.util.date 对象的字符串。在这里,我们使用 String 类的 format() 方法,根据指定的格式来格式化日期。请看下面的例子。

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

public class SimpleTesting {
  public static void main(String[] args) throws ParseException {
    Date date = new Date();
    String dateToStr = String.format("%1$tY-%1$tm-%1$td", date);
    System.out.println("Date is " + dateToStr);
  }
}

输出:

Date is 2020-09-21

相关文章 - Java String

相关文章 - Java DateTime