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技术站