如何从 Java 中的字符串值创建日期对象?
使用SimpleDateFormat类
此类的构造函数之一接受表示所需日期格式的String值并创建SimpleDateFormat 类。 将字符串解析/转换为Date对象-
通过传递所需的格式字符串来实例化此类。
使用parse()方法解析日期字符串。
示例
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Sample { public static void main(String args[]) throws ParseException { String date_string = "2007-25-06"; //实例化SimpleDateFormat类 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM"); //将给定的字符串解析为日期对象 Date date = formatter.parse(date_string); System.out.println("日期值: "+date); } }输出结果
日期值: Mon Jun 25 00:00:00 IST 2007
使用LocalDate类
parse()LocalDate类的方法接受一个表示日期的String值并返回一个LocalDate对象。
示例
import java.time.LocalDate; public class Test { public static void main(String args[]) { LocalDate date = LocalDate.parse("2007-12-03"); System.out.println(date); } }输出结果
2007-12-03
使用DateUtils类:
该DateUtils提供实用程序格式化日期,你可以找到它在apache.commons封装下面是该包的行家依赖-
org.apache.commons commons-lang3 3.7
parseDate()DateUtils类的方法接受一个格式字符串和一个日期字符串作为参数并返回一个Date对象。
示例
import java.util.Date; import org.apache.commons.lang3.time.DateUtils; public class Test { public static void main(String args[]) { String dateInString = "07-06-2013"; Date date = DateUtils.parseDate(dateInString, "yyyy-MM-dd"); System.out.println(date); } }输出结果
Sat Dec 03 00:00:00 IST 12
使用Instant类
parse()java.time.Instant类的方法接受一个日期字符串作为参数并返回一个表示给定日期的对象(Instant)。
示例
import java.time.Instant; public class Test { public static void main(String args[]) { String dateInString = "2014-10-05T15:23:01Z"; Instant instant = Instant.parse(dateInString); System.out.println(instant); } }输出结果
2014-10-05T15:23:01Z