如何将 Java 字符串转换为日期对象
原文:https://www.studytonight.com/java-type-conversion/how-to-convert-java-string-to-date
在 Java 中,字符串可以使用LocalDate
和SimpleDateFormat
类的parse()
方法转换成日期。
SimpleDateFormat
根据指定的日期格式解析字符串。例如日/月/年、月、日、年等。
例 1:
这里String
使用SimpleDateFormat
类的parse()
方法转换成指定格式的Date
。
import java.text.SimpleDateFormat;
import java.util.Date;
public class StudyTonight
{
public static void main(String [] args)throws Exception
{
String d1 = "23/02/1997";
String d2 = "23-Feb-1997";
String d3 = "02 23, 1997";
String d4 = "Sun, Feb 23 1997";
String d5 = "Sun, Feb 23 1997 22:12:21";
String d6 = "23-Feb-1997 22:12:21";
SimpleDateFormat f1 = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat f2 = new SimpleDateFormat("dd-MMM-yyyy");
SimpleDateFormat f3 = new SimpleDateFormat("MM dd, yyyy");
SimpleDateFormat f4 = new SimpleDateFormat("E, MMM dd yyyy");
SimpleDateFormat f5 = new SimpleDateFormat("E, MMM dd yyyy HH:mm:ss");
SimpleDateFormat f6 = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date date1 = f1.parse(d1);
Date date2 = f2.parse(d2);
Date date3 = f3.parse(d3);
Date date4 = f4.parse(d4);
Date date5 = f5.parse(d5);
Date date6 = f6.parse(d6);
System.out.println(d1+"\t"+date1);
System.out.println(d2+"\t"+date2);
System.out.println(d3+"\t"+date3);
System.out.println(d4+"\t"+date4);
System.out.println(d5+"\t"+date5);
System.out.println(d6+"\t"+date6);
}
}
1997 年 2 月 23 日 sun feb 23 00:00:00 utc 1997 1997 年 2 月 23 日 sun feb 23:00:00 utc 1997 1997 年 2 月 23 日 sun 23:00:00:00 utc 1997 1997 年 2 月 23 日 sun feb 23:00:00:00 utc 1997 1997 年 2 月 23 日 sun 22:12:21 sun feb 23:12:21 utc 1997
示例 2: Java 8 -本地日期类
如果您使用的是 Java 8 或更高版本,那么您可以使用DateTimeFormatter
类来格式化日期,使用LocalDate
类来将字符串转换为日期对象。请看下面的例子。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class StudyTonight {
public static void main(String[] args) {
String string = "January 12, 2020";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse(string, formatter);
System.out.println(date);
}
}
2020-01-12