DateTimeFormatter
java.time中的类提供了三种ofLocalized…
方法来生成字符串来表示包括年份的值。例如,ofLocalizedDate
。
Locale l = Locale.US ;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate( FormatStyle.SHORT ).withLocale( l );
LocalDate today = LocalDate.now( ZoneId.of( "America/Chicago" ) );
String output = today.format( f );
对于我所见的语言环境,较短的FormatStyle
样式中的年份仅是两位数。
如何让java.time本地化却 强制年份为四位数 而不是两位?
我怀疑答案在DateTimeFormatterBuilder
课堂上。但是我找不到改变年份长度的任何功能。我还细读了Java
9源代码
,但是无法充分理解该代码以找到答案。
…但是这些问题针对的是java.time类所取代的较旧的日期时间框架。
没有所需的内置方法。但是,您可以应用以下解决方法:
Locale locale = Locale.ENGLISH;
String shortPattern =
DateTimeFormatterBuilder.getLocalizedDateTimePattern(
FormatStyle.SHORT,
null,
IsoChronology.INSTANCE,
locale
);
System.out.println(shortPattern); // M/d/yy
if (shortPattern.contains("yy") && !shortPattern.contains("yyy")) {
shortPattern = shortPattern.replace("yy", "yyyy");
}
System.out.println(shortPattern); // M/d/yyyy
DateTimeFormatter shortStyleFormatter = DateTimeFormatter.ofPattern(shortPattern, locale);
LocalDate today = LocalDate.now(ZoneId.of("America/Chicago"));
String output = today.format(shortStyleFormatter);
System.out.println(output); // 11/29/2016
问题内容: 我想使用带有格式“ yyyymmdd”的simpleDateFormat验证和解析日期,这还允许将100624解析为10年(朱利叶斯·塞萨尔去世后54年)。日期也将是1970年左右,所以我不想使用SimpleDateFornat(“ yymmdd”)解决。 我想知道是否有一种方法可以使用SimpleDateFormat强制采用四位数的年份格式?我即将进行正则表达式测试,但是也许有一种使
问题内容: 当尝试取一个整数并将其前缀为“ b”并将其转换为字符串时,出现此错误: 与此功能有关: 问题答案: name = ‘b’ + str(num) 要么 如S.Lott所述,Python 3及更高版本不建议使用混合运算符’%’。我从INTERCAL那里窃取了“混合”这个名称,但这就是我谈论它的方式,并希望至少在印刷品上看到它一次(就像渡渡鸟一样),它从地球表面消失了。
每个 Mvc 框架都有自己的本地化字符串的解决方案, Nutz.Mvc 的这个是相当简陋的。 我只是个人觉得足够用了。下面我把它简单介绍一下: 假定所有的本地化字符串文件都会存放在某一目录下 这个目录下所有的 .properties 文件,将作为默认的本地字符串文件。 每一种语言都会是一个目录,目录名称对应一个 Locale 的 toString(),请参看 java.util.Locale 的
我有一个这样的收藏: 以及包含此集合的itemtype: 那么,在这个项目类型中插入衬衫的合适ImpEx应该是什么: 上面的陈述给出了错误。我哪里做错了?
问题内容: 我正在寻找实现以下目标的方法: 我可以自己编写它,但是在我看来,我曾经看过一个执行此操作的库,可能是slf4j记录器,但是我不想编写日志消息。我只想生成字符串。 您知道这是哪个图书馆吗? 问题答案: 参见方法。
我正在用C#开发一个加密用户和管理员密码的类项目。为了加密,我使用了< code > triplescryptoserviceprovider 。 在配置应用程序中,用户输入用于加密和解密密码的密钥。我想有一个按钮来生成密钥来帮助用户,但我不知道如何随机生成128位。如何生成128位的密钥?