您可以使用以下内容构建日期并将其调整为一年中第一周的第一天:

int year = 2016;

WeekFields weekFields = WeekFields.ISO;

LocalDate date = LocalDate.now().with(weekFields.weekBasedYear(), year)

.with(weekFields.weekOfWeekBasedYear(), 1)

.with(ChronoField.DAY_OF_WEEK, 1);

LocalDate date = LocalDate.now().with(IsoFields.WEEK_BASED_YEAR, year)

.with(IsoFields.WEEK_OF_WEEK_BASED_YEAR, 1)

.with(ChronoField.DAY_OF_WEEK, 1);

The ISO-8601 definition, where a week starts on Monday and the first week has a minimum of 4 days.

The ISO-8601 standard defines a calendar system based on weeks. It uses the week-based-year and week-of-week-based-year concepts to split up the passage of days instead of the standard year/month/day.

Note that the first week may start in the previous calendar year. Note also that the first few days of a calendar year may be in the week-based-year corresponding to the previous calendar year.

根据该定义,您可以获得:

This represents the concept of the year where weeks start on a fixed day-of-week, such as Monday and each week belongs to exactly one year.

在这种情况下,我们希望将其设置为所需年份.

> weekOfWeekBasedYear()代表以周为基础的一周

This represents the concept of the count of weeks within the year where weeks start on a fixed day-of-week, such as Monday and each week belongs to exactly one year.

在这种情况下,我们想要以周为基础的第一周,因此我们将其设置为1.

> ChronoField.DAY_OF_WEEK代表星期几.在这种情况下,我们想要一周的第一天,所以我们设置为1.

然后,有了这样一个日期,你可以通过调用LocalDate.plusWeeks(1)来迭代一年中的所有星期.问题是:你需要迭代多少次?一年可能超过52周.基于一周的年份有52或53周.

您可以使用以下内容检索周数.此调用rangeRefinedBy(date)检索给定日期的年周字段的有效值,并获得其最大值.

long maxWeekOfYear = weekFields.weekOfWeekBasedYear().rangeRefinedBy(date).getMaximum();

java怎样控制迭代周期_如何在Java 8中一年中每周迭代一次?相关推荐

  1. java怎样控制迭代周期_如何在Java中迭代日期范围?

    好吧,你可以使用Java 8的time-API做这样的事情,特别是这个问题java.time.LocalDate(或Java 7及更早版本的等效Joda Time类) for (LocalDate d ...

  2. java虚拟机的生命周期_深入理解Java虚拟机——JVM的生命周期

    package test; public class JVMTestLife { public static void main(String[] args) { new Thread(new Run ...

  3. java 查找链表中间元素_如何在Java中一次性查找Java中链表的中间元素

    如何在一次传递中找到LinkedList的中间元素?这是一个 Java 和非Java程序员面试时经常被问到的编程问题.这个问题类似于检查回文或计算阶乘,有时也会要求编写代码.为了回答这个问题,候选人必 ...

  4. java 合并两个列表_如何在Java中合并两个列表?

    java 合并两个列表 Merging two lists in Java is often a useful operation. These lists can be ArrayLists or ...

  5. java字符串字符排列组合_如何在Java中查找字符串的所有排列

    java字符串字符排列组合 In this tutorial, we will learn how to find the permutation of a String in a Java Prog ...

  6. java类添加单元测试代码_如何在java中单元测试时跳过一段代码

    如果问题确实是: 如何在Java 然后我给出的答案同意单元测试时,我跳过一段代码.依赖注入,嘲讽框架绝对是真正的单元测试的正确途径. 但是,如果问题是: 使用JUnit(或其他单元测试框架) 然后我想 ...

  7. java pdf添加透明水印_如何在PDF文件中添加透明水印

    原标题:如何在PDF文件中添加透明水印 有些文件添加水印,但是又不想水印影响文件的使用有时候会设置透明水印,那么PDF怎么设置透明水印呢,应该有很多的小伙伴们都很好奇应该怎么做吧,接下来就为大家分享一 ...

  8. 用java编写战舰 游戏吗_如何在Java中正确建模战舰游戏

    我正在尝试为我的小组在大学里做的"游戏"项目创建战舰游戏.我之前从未真正使用过GUI,几乎所有输出都在Eclipse控制台中. 首先,我创建了一个GUI类,它实际上是我的" ...

  9. 在java读字符串入文件_如何在java中将文件读入字符串?

    我已经将文件读入String. 该文件包含各种名称,每行一个名称. 现在的问题是我想在String数组中使用这些名称. 为此我写了以下代码: String [] names = fileString. ...

最新文章

  1. 让炼丹更玄学!苏大博士生用「天干地支」生成随机种子,项目已开源
  2. 继续着茫茫碌碌的日子
  3. 《数据结构与抽象:Java语言描述(原书第4版)》一P.3.2 实现一个接口
  4. SQL 2005数据库转为2000的终极解决方案
  5. Step By Step(1),Build Convolutional Neural Networks
  6. 基于springboot在线租车管理系统
  7. 2021华科计算机考研专业课,2021考研 华中科技大学计算机考研科目
  8. Word打开文件错误提示用文本恢复转换器打开文件
  9. 计算机老是重启进不了桌面,win10电脑无限重启进不了桌面怎么解决
  10. 事件监听 ActionListener
  11. SQL 更新语句:Update ... set ... from ...
  12. 离婚率离婚率离婚率离婚率
  13. 数据库用户创建、角色创建、用户和角色授予权限和权限收回
  14. DEFCON CTF 2017圆满收关,三支中国战队闯入全球前五
  15. 基于HTML+CSS+JavaScript仿淘宝购物商城设计毕业论文源码
  16. 机器学习数学原理(8)——霍夫丁不等式
  17. 世界主要节日、纪念日和活动日
  18. MySQL--SELECT
  19. Python网络爬虫(三) 爬虫进阶
  20. 苹果终端date命令_终端下如何修改系统时间?

热门文章

  1. 深度学习框架大战,我该选哪个?
  2. 【每日一算法】救生艇
  3. Spring基础专题——第六章(Aop编程)
  4. python使用PyMySQL的连接MySQL数据库
  5. MATLAB_图形学_形态学课程_找出薛之谦的歌词所有字数
  6. Pytorch中的5个非常有用的张量操作
  7. 第五篇:HMM 隐马尔可夫模型
  8. eclipse 中配置maven环境
  9. Hadoop机架感知与balancer
  10. 利用curl下载文件(进度条显示) 代码片段