程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了根据Java 8中的LocalDate.now()获取星期几的日期大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决根据Java 8中的LocalDate.now()获取星期几的日期?

开发过程中遇到根据Java 8中的LocalDate.now()获取星期几的日期的问题如何解决?下面主要结合日常开发的经验,给出你关于根据Java 8中的LocalDate.now()获取星期几的日期的解决方法建议,希望对你解决根据Java 8中的LocalDate.now()获取星期几的日期有所启发或帮助;

请注意,该表达式System.out.println(Now.with(DayOfWeek.MONDAY))使用ISO-8601,因此它与语言环境无关,因此它总是向后跳到上一个星期一(或保留在星期一,以防日期已经指向星期一)。

因此,在美国或其他一些国家/地区(星期从星期日开始)-可能无法按您预期的那样工作- 如果日期指向星期日,Now.with(DayOfWeek.MONDAY) 星期一。

如果您需要解决这些问题,最好使用本地化字段WeekFields.dayOfWeek():

LocalDate Now = LocalDate.Now();
TemporalFIEld fIEldisO = WeekFIElds.of(Locale.FRANCE).dayOfWeek();
System.out.println(Now.with(fIEldisO, 1)); // 2015-02-09 (Monday)

TemporalFIEld fIEldUS = WeekFIElds.of(Locale.US).dayOfWeek();
System.out.println(Now.with(fIEldUS, 1)); // 2015-02-08 (Sunday)

由于下面的评论而产生的另一个示例:

LocalDate ld = LocalDate.of(2017, 8, 18); // FrIDay as original date

System.out.println(
    ld.with(DayOfWeek.SUNDAY)); // 2017-08-20 (2 days later according to ISO)

// Now let's again set the date to Sunday, but this time in a localized way...
// the method dayOfWeek() uses localized numbering (Sunday = 1 in US and = 7 in FrancE)

System.out.println(ld.with(WeekFIElds.of(Locale.US).dayOfWeek(), 1L)); // 2017-08-13
System.out.println(ld.with(WeekFIElds.of(Locale.FRANCE).dayOfWeek(), 7L)); // 2017-08-20

以美国为例,这很清楚地表明,居住在美国的人会期望去到下一个而不是下一个星期日,因为星期日被认为是美国一周中的第一天。基于ISO的简单表达式with(DayOfWeek.SUNDAY)忽略了此本地化问题。

解决方法

我想根据LocalDate.now()获取一周中第一天的日期。JodaTime可以进行以下操作,但似乎已从Java 8的新Date API中删除。

LocalDate now = LocalDate.now();
System.out.println(now.withDayOfWeek(datetiR_542_11845@eConstants.MONDAY));

我无法调用“ withDayOfWeek()”,因为它不存在。

所以我的问题是: 如何根据某些LocalDate获取星期几的日期?

大佬总结

以上是大佬教程为你收集整理的根据Java 8中的LocalDate.now()获取星期几的日期全部内容,希望文章能够帮你解决根据Java 8中的LocalDate.now()获取星期几的日期所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。