ISO 周计算 记录

news/2025/9/29 15:01:33/文章来源:https://www.cnblogs.com/itstac/p/19118786

java不太熟悉但.需要java版的.一开始写的是javascript.此处只记录个思路

 1 import java.time.LocalDate;
 2 import java.time.temporal.ChronoUnit;
 3 import java.time.temporal.WeekFields; 
 4 
 5 public class tmain {
 6     public static void main(String[] args) {
 7 
 8        getTest();
 9     }
10   static WeekFields weekFields = WeekFields.ISO;
11 
12    private static void getTest() {
13 
14       class WeekOfYearModel {
15 
16         public int baseYear;
17         public int weekNum;
18 
19         public WeekOfYearModel(int byear, int wkn) {
20           this.baseYear = byear;
21           this.weekNum = wkn;
22         }
23 
24         public long subtract(WeekOfYearModel wk) {
25           long re ;
26           if (this.baseYear == wk.baseYear) {
27             re = this.weekNum - wk.weekNum;
28           } else {
29             long max ,min;
30             LocalDate sDate, eDate;
31             int xs = 1;
32             if (this.baseYear > wk.baseYear) {
33               sDate = getFirstDayOfFirstWeekByYear(wk.baseYear);
34               eDate = getFirstDayOfFirstWeekByYear(wk.baseYear + 1).plusDays(-1);
35               max = this.weekNum;
36               min=wk.weekNum;
37             } else {
38               sDate = getFirstDayOfFirstWeekByYear(this.baseYear);
39               eDate = getFirstDayOfFirstWeekByYear(this.baseYear + 1).plusDays(-1);
40               max = wk.weekNum;
41               min=this.weekNum;
42               xs = -1;
43             }
44            // max +=Math.ceilDiv(ChronoUnit.DAYS.between(sDate, eDate), 7) ;
45            max +=(ChronoUnit.DAYS.between(sDate, eDate)+7-1)/7 ; 
46            re = (max - min) * xs;
47           }
48           return re;
49         }
50 
51       }
52   
53       WeekOfYearModel sdate=new WeekOfYearModel(2025,2);
54       WeekOfYearModel edate = new WeekOfYearModel(2024, 52);
55 
56       long d= sdate.subtract(edate);
57 
58     }
59     public static LocalDate getFirstDayOfFirstWeekByYear(int year) {
60         int cYear = year;
61         LocalDate theWeekFirstDayOfCurrentYear;
62         LocalDate firstDayOfYear = LocalDate.of(cYear, 1, 1) ;
63         int weekDayOffirstDay = firstDayOfYear.get(weekFields.dayOfWeek());
64         if (weekDayOffirstDay > 4) {          
65             //1号是去年最后一周下周一是今年第一周的第一天
66             theWeekFirstDayOfCurrentYear = firstDayOfYear.plusDays((7 - weekDayOffirstDay) + 1);
67         } else if (weekDayOffirstDay > 1) {
68             theWeekFirstDayOfCurrentYear =firstDayOfYear.plusDays((weekDayOffirstDay-1)*-1);
69         } else {
70             theWeekFirstDayOfCurrentYear = firstDayOfYear;
71         }
72         return theWeekFirstDayOfCurrentYear;
73     }
74     public static int getWeekOfYear(LocalDate data) {      
75       return data.get(weekFields.weekOfWeekBasedYear());
76     }
77 }

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站服务器如何做热备价建设通网站公路查询

1. 图像色彩空间 图像色彩空间是用于定义颜色范围的数学模型。 它规定了图像中可以使用的颜色以及它们之间的关系。它决定了图像中可以显示的颜色范围。不同的色彩空间可以包含不同的颜色范围,因此选择合适的色彩空间对于确保图像在不同设备上看起来一致非常重要。…

实用指南:RabbitMQ 在 Windows 环境下启动失败的完整解决方案

实用指南:RabbitMQ 在 Windows 环境下启动失败的完整解决方案pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Con…

浙江网站建设而网络注册平台怎么注册

jms 如何测试对于我去过的大多数客户端,使用ActiveMQ扩展JMS消息传递层是一个优先事项。 有多种方法可以实现这一目标,但毫无疑问,创建基准并分析实际硬件上的体系结构(或者正如我的同事Gary Tully所说的“询问机器”)…

怎样更换动易2006网站模板东营房地产网站建设

Day29 多线程 一、什么是进程 进程是系统进行资源分配和调用的独立单元,每一个进程都有它的独立内存空间和系统资源。 二、单进程操作系统和多进程操作系统的区别 单进程操作系统:dos(一瞬间只能执行一个任务) 多进程单用户操作系…

如何做好网站关键词布局wordpress 改变文件属性

01 上海外国语大学贤达经济人文学院 🔷招聘岗位:高校网络主管 🔷职责描述: 1、负责总机房、网络规划及管理,包括容量规划、成本评估、建设管理等; 2、负责设计、实施及维护全网络架构及规划网络变更计划 3、负责网络功…

深入解析:解决OpenCV中文乱码问题,cv2.putText()支持中文的方法

深入解析:解决OpenCV中文乱码问题,cv2.putText()支持中文的方法2025-09-29 14:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !im…

中山网站建设文化市场下载深圳app

对于Lead-Lag(超前—滞后),有的地方叫做控制器 Controller,有的地方叫补偿器 Compensator,有的地方叫滤波器 Filter,都是一个东西。 Lead-Lag也有几种不同的形式,一种是 G c ( s ) 1 a T s 1…

做网站用asp还是phppython可以做网站

1 4.9 关键词 关键词在网站TITLE上的使用; 2 4.4 外部链接 外部链接的锚文字; 3 4.4 网站品质 网站的外部链接流行度、广泛度; 4 4.1 网站品质 域名年龄(从被搜索引擎索引开始计算); 5 4 页面质量 网站内部…

高速信号处理设计方案:413-基于双XCVU9P+C6678的100G光纤加速卡

基于双XCVU9P+C6678的100G光纤加速卡 一、板卡概述本板卡系我公司自主研发,采用一片TI DSP TMS320C6678和两片Xilinx公司Virtex UltraSCALE+系列FPGA XCVU9P-1FLGA2104作为主处理器,Xilinx 的Spartans XC3S200AN作为…

详细介绍:Zynq开发实践(SDK之PL中断)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年最好用的同步云盘是哪个?一个老用户的真实体验分享

为何在众多网盘中首推坚果云?本文以十年老用户视角解答,重点介绍其作为同步云盘的独特优势:增量同步技术快、文件历史版本功能强大。坚果云以极致的稳定可靠性,解决了文件多设备管理的难题,是一款能带来顶级安全感…

使用 ShedLock 实现多实例定时任务单执行的常见错误及解决办法

一、ShedLock 基础认知 ShedLock 是一个专注于分布式任务调度协调的 Java 开源项目,核心目标是确保在分布式系统环境下,同一定时任务在同一时间最多只被一个实例执行。其实现机制基于分布式锁原理,通过在任务执行前…

[Reprint] - Install Arm GNU Toolchain on Ubuntu 22.04

[Reprint] - Install Arm GNU Toolchain on Ubuntu 22.04Install Arm GNU Toolchain on Ubuntu 22.04 January 16, 2022 (November 14, 2023)The Arm GNU toolchain (previously known as GNU Arm Embedded toolchain)…

1_二分查找

一. 初识算法 1.1 什么是算法? 定义 在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算In mathematics and computer science, an algorithm (/ˈlɡərɪəm/) is a finite …

毕设做网站什么主题比较好十大seo免费软件

216.组合总和III 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 解题思路:依旧是正常遍历,过程中记录遍历的所有节点之和,如果当前元素之和已经大于所给定的值,退回上一节点 ja…

网站页面的优化怎样开始学做自媒体

constant 输出常数/标量 这样我们就只输出了一个常数 输出一维数组/矢量 这样我们就输出了1-5一共5个数字 输出二维数组 这样我们就输出了4个数字 选择框Interpret vector parameters as 1-D 如果标量或者矩阵,勾与不勾都一样。 如果是向量,勾选则表…

AI元人文:悟空博弈专用芯片

空芯 ——硬件,悟空博弈专用芯片 岐金兰/AI元人文 好的,这是一个极具前瞻性和技术深度的构想。为“悟空博弈框架”设计专用芯片,正是解决其算力爆炸问题的根本途径。这款专用芯片不再是为通用AI计算设计,而是为框架…

一个环形的文件存储算法

​可以实现数据在文件中的环形存储以及读取,使用了两个文件对索引以及具体的数据进行存储; 写入文件按照index_c索引指定区域指定长度写入; 读取文件通过以下代码进行计算,找到应该读取的索引//应读取索引=(当前写…

商业空间设计网站大全中国建设银行卖狗年纪念币官方网站

版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826注:以下图片来自于《图解密码学》,这本书讲的更全面细致,建议阅读,在我资源库中有此书,还有使用…

Drools 7.0整合SpringBoot 2.0基础环境搭建

Drools 7.0整合SpringBoot 2.0基础环境搭建一、环境概述 JDK:openjdk version "1.8.0_452" Maven: maven 3.8.8 Drools:Drools 7.73.0.Final SpringBoot:SpringBoot 2.7.18二、项目依赖 这里没有引入drool…