如何在Java中将String转换为Date对象?
以下代码显示了如何将日期的字符串表示形式转换为java.util.Date对象。
要转换日期字符串,我们可以使用java.text.SimpleDateFormat扩展java.text.DateFormat抽象类的帮助。
package org.nhooo.example.text;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class ConvertStringToDateExample {
public static void main(String[] args) {
String pattern = "dd/MM/yyyy";
String date = "28/01/2018";
try {
DateFormat df = new SimpleDateFormat(pattern);
Date today = df.parse(date);
System.out.println("Today = " + df.format(today));
} catch (ParseException e) {
e.printStackTrace();
}
// 使用Java 8日期和时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
LocalDate localDate = LocalDate.parse(date, formatter);
System.out.println("Today = " + localDate.format(formatter));
}
}这是我们的代码的结果:
Today = 28/01/2018 Today = 28/01/2018
该示例通过创建一个实例开始SimpleDateFormat与dd/MM/yyyy这意味着日期字符串以日-月-年顺序格式的格式。
最后使用parse(stringsource)方法我们可以得到Date实例。因为parse方法可以抛出java.text.ParseException异常如果提供的日期格式无效,则出现异常;我们需要捕获它。
这是可用于格式化从Java类文档获取日期的已定义模式的列表。
Era指示符
一年中的月份
一年中的星期
Am/pm标记
一天中的小时数(0-23)
一天中的小时数(1-24)
上午/下午(0-11)时
上午/下午(1-12)时