year 和 weak year 的区别-程序员宅基地

技术标签: java  

java 中使用 SimpleDateFormat 时,会遇到 year 和 week year 这两个概念,特此记录。

google 答案:

A week year is in sync with a WEEK_OF_YEAR cycle. All weeks between the first and last weeks (inclusive) have the same week year value. Therefore, the first and last days of a week year may have different calendar yearvalues.

Stackoverflow的一个具体问题及其解释:

For example, January 1, 1998 is a Thursday. If getFirstDayOfWeek() is MONDAY and getMinimalDaysInFirstWeek() is 4 (ISO 8601 standard compatible setting), then week 1 of 1998 starts on December 29, 1997, and ends on January 4, 1998. The week year is 1998 for the last three days of calendar year 1997. If, however, getFirstDayOfWeek() is SUNDAY, then week 1 of 1998 starts on January 4, 1998, and ends on January 10, 1998; the first three days of 1998 then are part of week 53 of 1997 and their week year is 1997.

查看源码

​java8(jdk1.8.0_171) 中,SimpleDateFormat.java 文件中的 subFormat 函数处理两种 year 的代码:

case PATTERN_WEEK_YEAR: // 'Y'
case PATTERN_YEAR:      // 'y'
    if (calendar instanceof GregorianCalendar) {
        if (count != 2) {
            zeroPaddingNumber(value, count, maxIntCount, buffer);
        } else {
            zeroPaddingNumber(value, 2, 2, buffer);
        } // clip 1996 to 96
    } else {
        if (current == null) {
            zeroPaddingNumber(value, style == Calendar.LONG ? 1 : count,
                              maxIntCount, buffer);
        }
    }
    break;

结论

以上源码说明,year 和 week year 的处理方式一致。至少在java8(jdk1.8.0_171)是这样的。

转载于:https://www.cnblogs.com/xiaoxi666/p/9934596.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30612769/article/details/97220620

智能推荐

L2-033 简单计算器(stack用法)_输入首先在第一行给出正整数 n(1<n≤10 3 ),为 s 1 中数字的个数。 第二行给出-程序员宅基地

文章浏览阅读631次,点赞3次,收藏4次。本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S​1存放数字,另一个堆栈 S2存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就执行以下操作:1.从 S​1中弹出两个数字,顺序为 n1和 n2;2.从 S​2中弹出一个运算符 op;3.执行计算 n​2​​ op n1 ;4.将得到的结果压回 S​1 。直到两个堆栈都为空时,计算结束,最后的结果将显示在屏幕上。输入格式:输入首先在第一行给出正整数 N(1<._输入首先在第一行给出正整数 n(1

Bootstrap详细讲解(图文)_Quentin_bootstrap图解-程序员宅基地

文章浏览阅读497次。BootstrapBootstrap简介: Bootstrap是Twitter公司开发并开源的用于前端开发的框架。Bootstrap提供了很多优雅的HTML和CSS规范,有了Bootstrap会使一些前端编程变得简单方便。 Bootstrap中文网:www.bootcss.com 这里面有Bootstrap中文文档、教程和网页实例,对于初学者很有帮助。Bootstrap CSS: &n_bootstrap图解

iOS开发面试必须要注意的问题!_ios 面试官 问项目问题-程序员宅基地

文章浏览阅读473次。今天要来聊聊的,是关于面试求职的那点事儿~说起求职,无论是应届生还是职场老司机, 大家都难免紧张。笔试有考点吗?简历里要把所有项目经验写进去吗?这个算法要记吗,那个概念会考吗?面试官的套路有尽头吗?今天分享一份开发面试全攻略。一般来说,大公司招聘流程都是:简历的筛选-笔试-技术面试-HR面,在技术面一般至少有两轮,如果岗位比较重要技术面试的场次可能有五六轮。HR面结束后还有可能还有部门经理的面试。相对而言, 校招倾向于考验学生的**基础知识、思维能力和发展潜能。**除了这三个方面,丰富的项._ios 面试官 问项目问题

[AIGC] Java List和Map常用API以及其Python实现方式对照介绍-程序员宅基地

文章浏览阅读477次,点赞9次,收藏8次。Java和Python作为当今非常浅显易懂的编程语言,其数据结构中对于List和Map(Java)或List和Dict(Python)的操作无疑是每个程序员都非常必需的知识。本文将介绍在Java中对List和Map常用的一些操作,并给出在Python中对应的实现方式。

meson 概述-程序员宅基地

文章浏览阅读1.2w次,点赞8次,收藏42次。meson是一个编译系统,类似于 CMake 或者GNU Autotools. meson只是负责配置构建,后台默认是用ninja来编译的(当然也支持其它后台)。ninja是一个小型的致力于编译速度优化的编译系统,相当于make的替代物。所以meson+ninja相当于Cmake+make。meson设计目标是好用,同时保持高性能。它采用了一种自定义语言,号称简单、清晰和简洁性。很多灵感来自于Python编程语言,具有较好的易读性。meson的另一个设计目标,是为现代编程工具提供辅助的支持,包括单元测试_meson

oracle查看编码以及修改编码-程序员宅基地

文章浏览阅读87次。oracle的编码一直是个很重要的问题,以前也总结的写过,但都忘了,今天再在这写一下。首先查看oracle数据库的编码SQL>select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';PARAMETER--------------------VALUE---..._orcid邮政编号怎么修改

随便推点

React路由使用步骤(含三种传参方式+编程式导航)_react编程导航-程序员宅基地

文章浏览阅读3.9k次。React路由使用步骤(含三种传参方式+编程式导航)_react编程导航

python操作mysql_update set %s=%s where start=%s-程序员宅基地

文章浏览阅读95次。import pymysql'''需求:有以下员工信息表CREATE TABLE EmployeeInfo ( staff_id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) COLLATE utf8_bin DEFAULT NULL, age int(11) DEFAULT NULL, phone varchar..._update set %s=%s where start=%s

一些数据上的概念-程序员宅基地

文章浏览阅读103次。一些数据上的概念 Cross tabulationhttp://en.wikipedia.org/wiki/Cross_tabulationhttp://www.fjmu.edu.cn/news/stat/jbtj8.htm交叉列表的统计分析(Statistics ..._sommer's d

声源测向: TDOA-GCC-PATH方法-程序员宅基地

文章浏览阅读1.9k次。声源测向: TDOA-GCC-PATH方法 收藏链接:http://www.funcwj.cn/2018/05/10/gcc-phat-for-tdoa-estimate/ posted @ 2019-04-09 10:01 douzujun 阅读(...) 评论(...) 编辑 收藏..._gcc-phat

掌握 JMeter 参数化测试,提升应用性能测试水平!-程序员宅基地

文章浏览阅读334次,点赞3次,收藏3次。本周给大家介绍下如何测试工具Jmeter中的参数化,随着互联网的快速发展,性能测试已成为每个应用程序不可或缺的一部分。Apache JMeter 是一款广泛使用的开源性能测试工具,可以帮助我们模拟并发用户对目标服务器发起请求,以评估系统的性能。在本文中,我们将探讨如何使用 JMeter 进行参数化测试,从而提高测试效率和准确性。

chatgpt生成的一些qt进度条样式_qt进度条绿色-程序员宅基地

文章浏览阅读344次。【代码】chatgpt生成的一些qt进度条样式。_qt进度条绿色

推荐文章

热门文章

相关标签