如何在 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