java怎样控制迭代周期_如何在Java 8中一年中每周迭代一次?
您可以使用以下内容构建日期并将其调整为一年中第一周的第一天:
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中一年中每周迭代一次?相关推荐
- java怎样控制迭代周期_如何在Java中迭代日期范围?
好吧,你可以使用Java 8的time-API做这样的事情,特别是这个问题java.time.LocalDate(或Java 7及更早版本的等效Joda Time类) for (LocalDate d ...
- java虚拟机的生命周期_深入理解Java虚拟机——JVM的生命周期
package test; public class JVMTestLife { public static void main(String[] args) { new Thread(new Run ...
- java 查找链表中间元素_如何在Java中一次性查找Java中链表的中间元素
如何在一次传递中找到LinkedList的中间元素?这是一个 Java 和非Java程序员面试时经常被问到的编程问题.这个问题类似于检查回文或计算阶乘,有时也会要求编写代码.为了回答这个问题,候选人必 ...
- java 合并两个列表_如何在Java中合并两个列表?
java 合并两个列表 Merging two lists in Java is often a useful operation. These lists can be ArrayLists or ...
- java字符串字符排列组合_如何在Java中查找字符串的所有排列
java字符串字符排列组合 In this tutorial, we will learn how to find the permutation of a String in a Java Prog ...
- java类添加单元测试代码_如何在java中单元测试时跳过一段代码
如果问题确实是: 如何在Java 然后我给出的答案同意单元测试时,我跳过一段代码.依赖注入,嘲讽框架绝对是真正的单元测试的正确途径. 但是,如果问题是: 使用JUnit(或其他单元测试框架) 然后我想 ...
- java pdf添加透明水印_如何在PDF文件中添加透明水印
原标题:如何在PDF文件中添加透明水印 有些文件添加水印,但是又不想水印影响文件的使用有时候会设置透明水印,那么PDF怎么设置透明水印呢,应该有很多的小伙伴们都很好奇应该怎么做吧,接下来就为大家分享一 ...
- 用java编写战舰 游戏吗_如何在Java中正确建模战舰游戏
我正在尝试为我的小组在大学里做的"游戏"项目创建战舰游戏.我之前从未真正使用过GUI,几乎所有输出都在Eclipse控制台中. 首先,我创建了一个GUI类,它实际上是我的" ...
- 在java读字符串入文件_如何在java中将文件读入字符串?
我已经将文件读入String. 该文件包含各种名称,每行一个名称. 现在的问题是我想在String数组中使用这些名称. 为此我写了以下代码: String [] names = fileString. ...
最新文章
- 让炼丹更玄学!苏大博士生用「天干地支」生成随机种子,项目已开源
- 继续着茫茫碌碌的日子
- 《数据结构与抽象:Java语言描述(原书第4版)》一P.3.2 实现一个接口
- SQL 2005数据库转为2000的终极解决方案
- Step By Step(1),Build Convolutional Neural Networks
- 基于springboot在线租车管理系统
- 2021华科计算机考研专业课,2021考研 华中科技大学计算机考研科目
- Word打开文件错误提示用文本恢复转换器打开文件
- 计算机老是重启进不了桌面,win10电脑无限重启进不了桌面怎么解决
- 事件监听 ActionListener
- SQL 更新语句:Update ... set ... from ...
- 离婚率离婚率离婚率离婚率
- 数据库用户创建、角色创建、用户和角色授予权限和权限收回
- DEFCON CTF 2017圆满收关,三支中国战队闯入全球前五
- 基于HTML+CSS+JavaScript仿淘宝购物商城设计毕业论文源码
- 机器学习数学原理(8)——霍夫丁不等式
- 世界主要节日、纪念日和活动日
- MySQL--SELECT
- Python网络爬虫(三) 爬虫进阶
- 苹果终端date命令_终端下如何修改系统时间?