当前位置: 首页 > 面试题库 >

Jodatime:如何打印4位数字的年份?

曾丰茂
2023-03-14
问题内容

我正在使用Jodatime格式化日期,并使用语言环境来格式化特定于语言环境的日期。我希望将日期格式设置为“
17/06/2013”​​(分隔符必须取决于语言环境), 几乎 可以通过以下方式实现

DateTimeFormat.forStyle("S-").withLocale(myLocale)

它给出“ 17/06/13”(2位数字的年份)。样式“ M-”表示“ 17 juin 2013”​​(法语区域设置),这也不是我想要的。

当然,我可以使用“ dd / MM / yyyy”之类的格式创建格式化程序,这将为我提供4位数字的年份,但它对区域设置不敏感。

我一直在寻找一种修改用“ S-”样式创建的格式化程序的方法,但是似乎不可能。

用这种行为获得格式化程序的最简单方法是什么?


问题答案:

只需获取本地化短样式的模式,然后将“ yy”替换为“ yyyy”(如果尚不存在)。

String pattern = DateTimeFormat.patternForStyle("S-", locale);
if (!pattern.contains("yyyy")) {
    pattern = pattern.replace("yy", "yyyy");
}
DateTimeFormatter formatter = DateTimeFormat.forPattern(pattern);


 类似资料:
  • 问题内容: 我想使用带有格式“ yyyymmdd”的simpleDateFormat验证和解析日期,这还允许将100624解析为10年(朱利叶斯·塞萨尔去世后54年)。日期也将是1970年左右,所以我不想使用SimpleDateFornat(“ yymmdd”)解决。 我想知道是否有一种方法可以使用SimpleDateFormat强制采用四位数的年份格式?我即将进行正则表达式测试,但是也许有一种使

  • 我在打印格式上有一个小问题。如果数字不是整数,我想打印小数点后的2位数字(例如55.53467- 我拥有的代码是: 当然,它总是打印两位数。非常感谢

  • 接收字节数组(表示任何内容:某种有线格式、某种形式的编码数据、带有嵌入“文本”的二进制数据等)。我希望能够以以下形式打印数组: 作为十六进制字符串 作为“可打印”文本 第一种情况部分是出于调试的原因,但也可以在非调试模式下使用。第二种情况纯粹是出于调试的原因,并允许人类与其他信息源进行比较。 如果任何人有如何实现这一点的信息,我将非常感谢。

  • 问题内容: 我想打印一个特定的Python字典键: 现在我可以检查是否可以,但是我想做的是打印密钥的名称。当然可以使用,但是我不想列出 所有 键,而只列出一个特定的键。例如,我期望这样的事情(用伪代码): 有什么方法可以打印键名? 编辑: 好的,非常感谢你们的反应!:)我意识到我的问题没有很好地表述和琐碎。我只是感到困惑,因为我意识到key_name是两个不同的东西,我认为从字典上下文中打印出来是

  • 我想在Swift 4中打印点后5位数字。在C语言中,我可以这样做。5f但现在我不能。有最短的代码来做这件事吗?

  • 本文向大家介绍python逆序打印各位数字的方法,包括了python逆序打印各位数字的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 运行结果: 请输入一个多位数的正整数:123654 该数为6位数 4 5 6 3 2 1 总结: 1、reverse()方法用于列表逆向排序 以上这篇python逆序打印各位数字的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持