首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中解析缺少年份信息的日期

问如何在java中解析缺少年份信息的日期
EN

Stack Overflow用户
提问于 2018-11-19 23:59:32
回答 1查看 81关注 0票数 2

我想解析一个只包含日期和月份信息的日期,而不包含年份。结果日期应设置为当前年份。

例如,输入将是类似于“11.11月份”的内容。

我的想法是使用这样的东西:

代码语言:javascript
复制
DateTimeFormatter.ofPattern("EEEE dd. MMMM");

但是在结果日期中,年份被设置为1970,这是有意义的。

有没有办法在DateTimeFormatter中将省略的年份设置为某个值

EN

回答 1

Stack Overflow用户

发布于 2018-11-20 00:02:47

解析为MonthDay并添加年份。根据需要更改Locale。

解析输入字符串。

代码语言:javascript
复制
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd. MMMM", Locale.UK);
final MonthDay monthDay = MonthDay.parse("11. November", formatter) ;

应用所需的年份。

代码语言:javascript
复制
final int currentYear = LocalDate.now().getYear();
final LocalDate date = monthDay.atYear(currentYear);

值得注意的是,如果您有类似于2月29日的日期,并且您添加了2018年(不是闰年),那么它将被推迟到28号,因为29/02/2018不是一个有效的日期。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53378414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档