首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中显示当前年份的最后两位数

在Java中显示当前年份的最后两位数
EN

Stack Overflow用户
提问于 2013-11-19 19:26:09
回答 3查看 51K关注 0票数 24

如何在不使用任何子串算法或任何第三方库的情况下仅显示当前年份的最后两位数?

我尝试了下面的方法,它给出了一个四位数的年份。我想知道是否有可用的日期格式选项来获取两位数格式的当前年份。

代码语言:javascript
复制
Calendar.getInstance().get(Calendar.YEAR);
EN

回答 3

Stack Overflow用户

发布于 2017-04-09 17:53:18

这是一行代码:

代码语言:javascript
复制
    System.out.println(Year.now().format(DateTimeFormatter.ofPattern("uu")));

我使用的是java.time.Year,它是Java8中引入的大量date和time类之一(也可以向后移植到Java6和7)。这只是许多新类中的一个小示例,新类比旧类CalendarSimpleDateFormat更方便,代码更清晰。

如果你只想要两位数的数字,而不是字符串,你可以使用:

Year.now().getValue() % 100

其他答案在2013年都是不错的答案,但这些年已经过去了。:-)

票数 9
EN

Stack Overflow用户

发布于 2020-05-29 07:41:41

String.format()也有Date/Time Conversions

为了得到当前年份的最后两位数,

代码语言:javascript
复制
String.format("%ty", Year.now());

这适用于许多java.time类,包括YearYearMonthLocalDateLocalDateTimeZonedDateTime

票数 3
EN

Stack Overflow用户

发布于 2020-12-04 20:47:39

@Robin Krahl的解决方案有点老套,但我喜欢它。如果我们添加一个前导零,我们就可以避免@Albert Tong评论的案例。为了得到年份的最后两位数,我假设结果应该是一个字符串。以防我们不能使用@jaco0646的解决方案。我们可以这样做:

代码语言:javascript
复制
 String yearStr = addLeadingZero(Calendar.getInstance().get(Calendar.YEAR) % 100)

 private String addLeadingZero(int num) {
   String result = String.valueOf(num);
    if(num < 10){
        result = "0" + result;
    }

    return result;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20070258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档