如何在 Java 中把日期轉換為字串

Mohammad Irfan 2023年1月30日 2020年9月26日
  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