- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
引用SimpleDateFormat docs ,表示年份的模式字符是y
,所以我们有yy
和yyyy
(分别是13、2013)这样的表示。没关系。
当我输出 DEFAULT
/SHORT
/MEDIUM
/LONG
/FULL
大多数语言环境的模式,我从这些方面得到一些东西:
(例如:新西兰)
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”(day“nap”),所以我认为我正在制作的“a”/“année”相关性是巧合。
那么这里应该推断出的区别是什么?
我用谷歌搜索了一下,但一无所获。对于 Java 开发人员来说,这也可能是显而易见的事情,但我只是一个 CFML 开发人员,当 Java 做的事情比我在 native 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”格式字符具有完全相同的效果,只是叫法不同。
关于java - 在年份值的上下文中, "aaaa"与 "yyyy"有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19154099/
我有固定格式,例如 xxx-xxxx。这是 3 个字母数字,然后是破折号,然后是 4 个字母数字。我是正则表达式的新手。我想知道如何对java的正则表达式进行这种检查。 我知道/w 代表任何单词,/d
我正在使用 footable library用于显示表。每行都有一个日期列,我想按日期列(在列标题上单击)对该表进行排序。 Data Scadenza Titolo
一个字符串必须以 3 或 4 个字母(不是数字)开头,并且“:”符号应该跟在这些字母之后,冒号之后应该再多三个字符,例如 AAA。例如,AAAA:AAA 或 AAA:AAA。 我正在开始构建它,但正则
我购买了 SSL 证书并将其安装到 tomcat 中。我创建了 tomcat.keystore 文件,我将其包含在 server.xml 文件中,还放置了密码,但无法理解 keyAlias="aaa"
如果这不是错误,那么有人可以解释这种行为背后的原因吗?事实上,似乎每个奇数个字母都会返回 false: string test = "aaaaaaaaaaaaaaaaaaaa"; Console.Wr
引用SimpleDateFormat docs ,表示年份的模式字符是y,所以我们有yy和yyyy(分别是13、2013)这样的表示。没关系。 当我输出 DEFAULT/SHORT/MEDIUM/LO
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 程序分析:关键是计
这个问题在这里已经有了答案: Why does Date.parse give incorrect results? (11 个答案) 关闭去年。 为什么 Javascript Date 接受非数字
我正在使用 C 实现 DNS 查询,并且有兴趣在单个查询数据包中同时请求 A 和 AAAA(IPv4 和 IPv6)记录,但是当我将这两个记录放在一起时,我没有从名称服务器获得任何响应像这样在一个数据
嘿,伙计们,我在我的网站上遇到了一个问题,它无法访问,因为无法续订 SSL 证书,然后当我执行续订脚本时,它给出了一些错误,因为 AAAA 记录。所以我需要在我的谷歌云 dns 上添加 AAAA 记录
我想使用 ImageMagick 中的 convert 创建验证码图片。 我关注this ,但是有一些问题。 在我的 Linux shell 中输入: convert -background whit
我想创建一个模式,其中所需的字符串应该是 a 的倍数,包括 null,即 a*,或者它应该是一个 m 或一个 n。但是下面的代码没有给出所需的输出。 class Solution {
我正尝试从 centos 机器发送邮件,但我遇到了问题。我在我的 linux 机器上安装了“邮件”和 ssmtp,当我尝试发送邮件时收到了这个响应。 ssmtp: 550 invalid DNS MX
我需要用 C++ 编写一个小程序,它将类型和主机名作为命令行参数,然后进行 DNS 查找。例如: DNSapp AAAA www.google.com 将从 www.google.com 等返回 IP
我一直在寻找一种使用“grunt-contrib-compress”插件来命名带有当前日期的 zip 文件的方法。有办法实现吗?我正确安装了它,并设置如下: compress: {
我正在处理 datazen,我有一个 year 列(2015、2016、2013,...)和一个季度(1 或 2 或 3 或 4)列。我想将它们转换为数据类型为 datetime 的新列。我搜索了一下
我有一个像这样的 JSON ... { "d": { "__count": "5798", "results": [{ "time": "\/Date(14670397
我启动 openFire 并用 spark 测试它一切正常但是当我尝试在 android studio 中连接 smack 4.2.0 时我得到了这个错误: Ljavax/命名/目录/InitialD
这个问题在这里已经有了答案: Java regex - overlapping matches (3 个答案) 关闭 9 年前。 我想了解 Java 中的模式匹配。但是,我对下面代码的输出感到困惑。
我对*的理解是它消耗尽可能多的字符(贪婪地)但在必要时“回馈”。因此,在 a*a+ , a*会给 a+ 一个(或者更多?)字符所以它可以匹配。 然而,在 (a{2,3})* ,为什么不是 a{2,3}
我是一名优秀的程序员,十分优秀!