在java.time-package的范围内,我们可以说:

>使用“u”代替“y”更安全,因为DateTimeFormatter将坚持将时代与“y”(=年代)相结合.因此,使用“u”可以避免在严格的格式化/解析中出现一些可能的意外异常.另请参阅此SO-post.“u”-symbol与“y”相比改进的另一个小问题是打印/解析负的格里高利年(远在过去).

>否则我们可以清楚地说明使用“u”而不是“y”打破了Java编程中的长期习惯.直觉上也不清楚“u”表示任何一种年份,因为a)英语单词“year”的第一个字母与此符号不一致b)SimpleDateFormat使用“u”表示不同的目的,因为Java -7(ISO-day-number-of-week).混乱得到保证 – 永远?

>我们还应该看到,如果我们考虑历史日期,在ISO的背景下使用时代(符号“G”)通常是危险的.如果“G”与“u”一起使用,则两个字段彼此无关.如果“G”与“y”一起使用,则格式化程序会满意,但在历史日期强制执行不同的日历和日期处理时仍使用预知的格里高利历.

背景资料:

在开发和集成JSR-310(java.time-packages)时,设计人员决定使用CLDR / LDML-spec作为DateTimeFormatter中模式符号的基础.符号“u”已经在CLDR中定义为一个普通的格里高利年,所以这个意思被新的即将到来的JSR-310采用(但由于向后兼容的原因,不适用于SimpleDateFormat).

然而,这个跟随CLDR的决定并不十分一致,因为JSR-310还引入了新的模式符号,这些符号在CLDR中不存在且仍然不存在,另见旧版CLDR-ticket.建议的符号“I”由CLDR更改到了“VV”并最终被JSR-310取代,包括new symbols “x” and “X”.但CLDR中仍然不存在“n”和“N”,并且由于这张旧票已经关闭,所以CLDR是否会支持它根本不清楚它在JSR-310的意义上.此外,票证没有提到符号“p”(JSR-310中的填充指令,但未在CLDR中定义).因此,我们在不同的库和语言之间的模式定义之间仍然没有完全一致.

而关于“y”:我们也不应忽视CLDR将这一年与至少某种混合的朱利安/格里高利年联系在一起的事实,而不是像JSR-310那样将这个年代与格雷戈里年联系起来(留下奇怪之处)消极年份除外).因此,CLDR和JSR-310之间也没有完美的协议.

java日期格式化代码的写法_Java中的`DateTimeFormatter`格式化代码中的`uuuu`与`yyyy`?...相关推荐

  1. java日期类的计算问题_java日期计算(Calendar类)

    昨天学了java日期的格式器,主要是用SimpleDateFormat进行格式化.解析.但这还仅停留在日期的查看(调整显示格式)阶段,更重要的是日期的操作.今天继续学习,记录如下: 今天主要学习的日期 ...

  2. java 静态变量加载顺序_java 成员变量 静态变量代码块 静态代码快加载顺序

    序言 基类A 类B继承实现了A类 1在new B一个实例时首先要进行类的装载.(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B 3,装载父类A后 ...

  3. java short 写法_Java Short longValue()用法及代码示例

    Short类的java.lang.Short.longValue()方法是Java中的内置方法,用于将Short对象的值返回为long. 用法 ShortObject.longValue() 返回值: ...

  4. word中添加java代码怎么写_Java如何在word文档中写一个段落?

    在Java编程中,如何在word文档中写一个段落? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新版本 ...

  5. java 日期只计算年月日大小_Java按自然月计算两个日期相差的年月日?

    曾经我以为计算两个日期之差很简单,在给我的团队成员分配任务时,也觉得就是调用一个方法的问题,可是当我发现结果老是不对时,才发现原来JDK 提供的API中根本没有这样的方法,我也很恼火,也怪不得不少牛人 ...

  6. java单例模式的七种写法_Java设计模式之单例模式的七种写法

    什么是单例模式? 单例模式是一种常见的设计模式,单例模式的写法有很多种,这里主要介绍三种: 懒汉式单例模式.饿汉式单例模式.登记式单例 . 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类 ...

  7. java 日期只计算年月日大小_Java 计算两个日期相差多少年月日

    JDK7及以前的版本,计算两个日期相差的年月日比较麻烦. JDK8新出的日期类,提供了比较简单的实现方法. /*** 计算2个日期之间相差的 相差多少年月日 * 比如:2011-02-02 到 201 ...

  8. java 日期相减得分钟_java日期相减得到分钟??????

    1 public class DateUtils extendsPropertyEditorSupport {2 //各种时间格式 3 public static final SimpleDateFo ...

  9. Java拖拽控件数据库_java实现鼠标拖放功能代码实例

    java实现鼠标拖放功能代码实例 利用鼠标的拖放来交换程序的数据,即所谓的鼠标拖放功能.鼠标的拖放功能在图形化系统中非常常用,Java 提供了java.awt.dnd 和java.awt.datatr ...

最新文章

  1. linux 学习过程中的坑之 find 正则表达式
  2. C++ socket传输结构体
  3. java 判断是否整形_java判断是否基本类型
  4. oracle ebs 安装教程,Oracle_EBS_系统安装以及维护.doc
  5. android Content provider 组件
  6. python如何制作一个任意列表_在Python中扁平化任意嵌套列表的最快方法是什么?...
  7. 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”
  8. python方差的代码_Python statistics pvariance()用法及代码示例
  9. numpy在对数组进行“行过滤“的时候,使用集合运算函数比使用逻辑运算函数更简单
  10. 2048小游戏(变态版哦)
  11. 大话西游服务器刚维护完几率,大话西游2玩家预约凌烟阁服务器瞬间成功,这算不算被几率...
  12. 为postgreSQL添加man帮助
  13. 利用python对gif图片进行压缩处理,简单案例
  14. 用c# 实现一个爬虫
  15. ★戏子入画、一生天涯
  16. 数据库:一条sql语句查询每门课程都大于80分的学生姓名
  17. 湘潭大学计算机专业科目,湘潭大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  18. 意语口语学习:意大利语的发音
  19. linux pcm和alsa 区别,linux alsa pcm(此pcm非硬件pcm接口)
  20. 2014 WOT全球软件技术峰会第一天(上午)

热门文章

  1. 46个PPT下载丨QCon 2019年全球软件开发大会PPT
  2. 遇见未来 | 对话王璞:谈分布式系统在企业落地的挑战
  3. C语言内存泄露很严重,如何应对?
  4. 5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆。
  5. 9个超级实用的 ES6 特性,超级实用哦!
  6. 【评论分享有礼】毕业遇上疫情怎么办?4条技术指南轻松应对(内含求职、租房攻略)
  7. Python爬虫偷懒神器 — 快速构造请求头!
  8. 【华为云技术分享】【开发记录】Linux服务器维护常用命令(二)
  9. 80万辆车“云上飞驰”的背后
  10. 【华为大咖分享】8.Focus on Value 的思考与实践精粹(后附PPT下载地址)