In the context of year values how does quot;aaaaquot; differ from quot;yyyyquot;?(在年份值的上下文中,aaaaq;与quot;yyyyq;有什么不同?)
问题描述
参考SimpleDateFormat docs,表示年份的模式字符是y
,因此我们有yy
和yyyy
(分别为13,2013)这样的表示。那很好。
当我输出大多数区域设置的DEFAULT
/SHORT
/MEDIUM
/LONG
/FULL
模式时,我得到的结果大致如下:
(EG:新西兰)
Default: d/MM/yyyy
Short: d/MM/yy
Medium: d/MM/yyyy
Long: d MMMM yyyy
Full: EEEE, d MMMM yyyy
然而,看看一些地区,例如法国,我得到了这个:
Default: j MMM aaaa
Short: jj/MM/aa
Medium: j MMM aaaa
Long: j MMMM aaaa
Full: EEEE j MMMM aaaa
显然,这里aaaa
表示的是年份,但是yyyy
和aaaa
在意图上有什么区别?IE:为什么他们用aaaa
而不是只用yyyy
。
一开始我以为法语中的"[y]ear"是"[a]nnée"(而"[d]ay"是"[j]our"),但我发现匈牙利语(和许多其他地区)也是aaaa
,而匈牙利语中"Year"的意思是"év"(一天"nap"),所以我认为我所做的"a"/"année"关联是巧合。
那么这里应该推断的区别是什么?
我到处搜索,但一无所获。对于Java开发人员来说,这可能是显而易见的事情,但我只是一名CFML开发人员,当Java做一些比我在本机CFML中做的事情更方便的事情时,我只是偶尔将Java插入到我的CFML中。如果这是个愚蠢的问题,我很抱歉。
推荐答案
如果您查看java.text.DateFormatSymbols
,您会发现以下字段:
/**
* Localized date-time pattern characters. For example, a locale may
* wish to use 'u' rather than 'y' to represent years in its date format
* pattern strings.
* This string must be exactly 18 characters long, with the index of
* the characters described by <code>DateFormat.ERA_FIELD</code>,
* <code>DateFormat.YEAR_FIELD</code>, etc. Thus, if the string were
* "Xz...", then localized patterns would use 'X' for era and 'z' for year.
* @serial
*/
String localPatternChars = null;
这是一个按预定义顺序为每个格式元素包含一个字符的字符串(例如,字符0是纪元格式字符,字符1是年份格式字符,依此类推)。
此字段是从sun.text.resources.FormatData
资源包(当然,根据区域设置)从DateTimePatternChars
键加载的。
如果您检查sun.text.resources.FormatData_fr
资源,您会发现键-值对{ "DateTimePatternChars", "GaMjkHmsSEDFwWxhKzZ" }
。
长话短说-法国区域设置中的"a"格式字符与美国区域设置中的"y"格式字符具有完全相同的效果,只是名称不同。
这篇关于在年份值的上下文中,&aaaa&q;与";yyyy&q;有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在年份值的上下文中,&aaaa&q;与";


基础教程推荐
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 降序排序:Java Map 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01