如何列出 2009 年和 2010 年周一至周四的所有日历日期?
我需要向后循环并列出 2009 年和 2010 年每周一至周四的所有日历日期,并将它们记录为映射到一周中某一天的日-月-年字符串映射
"19-10-2010", "Tuesday"
"4-10-2010", "Monday"
: Java 中的库可以帮助解决这个问题,还是可以仅使用标准库来完成?
I need to loop backwards and make a list of all calendar dates in 2009 and 2010 that fall on Monday - Thursday of each week and record them as a map of day-month-year strings mapped to a day of the week:
"19-10-2010", "Tuesday"
"4-10-2010", "Monday"
Is there a library in Java that would help with this or can it be done with just the standard library?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
日历
:YEAR
设置为2009DAY_OF_YEAR
设置为1代码:
更新:
对此进行优化很简单,这样您就不需要迭代周五、周六、周日:只要看到周四就添加 4 天,否则添加 1 天:
Use a
Calendar
:YEAR
to 2009DAY_OF_YEAR
to 1Code:
Update:
It is trivial to optimize this so that you don't need to iterate over Fri, Sat, Sun: Just add 4 days whenever you see a Thursday, 1 otherwise:
您可以利用 guava 的计算图。通过这样做,您不需要生成所有日期及其星期几并保存在内存中。
要获取星期几,您可以执行以下操作:
You can make use of guava's computing map.By doing so you need not generate all the date's and their day of week and keep in memory.
To get the day of week you can do: