文
章
目
录
章
目
录
Java LocalDate类表示没有时间(小时/分钟/秒)和时区信息的日历日期。学习在Java中将字符串转换为LocalDate对象。
默认日期模式是 DateTimeFormatter.ISO_LOCAL_DATE,即 yyyy-MM-dd。
1.将字符串解析为 LocalDate
LocalDate.parse() 方法有两个参数。第一个参数是表示日期的字符串。第二个可选参数是 DateTimeFormatter 的实例,用于指定任何自定义模式。
1.1.默认模式
以下程序将字符串转换为 LocalDate,其中日期字符串采用默认格式 yyyy-MM-dd。
LocalDate today = LocalDate.parse("2023-10-29");
1.2 自定义模式
在下面的程序中,我们将自定义模式 dd-MMM-yyyy 中的日期字符串转换为 LocalDate 实例。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy");
LocalDate date = LocalDate.parse("29-Mar-2023", formatter);
2. 特定于区域性的模式
有时我们可能会在特定的语言环境中使用日期,例如法语,例如2019年3月29日将以法语写成29-Mars-2019。要解析此类日期,请使用DateTimeFormatter withLocale()方法获取该语言环境中的格式化程序并解析日期。程序输出。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy").withLocale(Locale.FRENCH);
LocalDate date = LocalDate.parse("29-mai-2023", formatter);
System.out.println(date);//2023-05-29
3.常用的日期模式
下面是一些有用的日期格式及其示例,用于将字符串中的日期转换为 LocalDate。
格式 | 日期字符串示例 |
---|---|
yyyy-MM-dd |
2019-03-29 |
dd-MM-yyyy |
29-Mar-2019 |
yyyy/MM/dd |
2019/03/29 |
E, MMM dd yyyy |
Fri, Mar 29 2019 |