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