如何在不使用任何子串算法或任何第三方库的情况下仅显示当前年份的最后两位数?
我尝试了下面的方法,它给出了一个四位数的年份。我想知道是否有可用的日期格式选项来获取两位数格式的当前年份。
Calendar.getInstance().get(Calendar.YEAR);
发布于 2013-11-19 19:27:14
您可以简单地使用模运算符:
int lastTwoDigits = Calendar.getInstance().get(Calendar.YEAR) % 100;
编辑:如果你希望结果是一个字符串,使用一个SimpleDateFormat
__,就像@R.J建议的那样,是更好的解决方案。如果你需要一个整数,使用取模。
发布于 2017-04-09 17:53:18
这是一行代码:
System.out.println(Year.now().format(DateTimeFormatter.ofPattern("uu")));
我使用的是java.time.Year
,它是Java8中引入的大量date和time类之一(也可以向后移植到Java6和7)。这只是许多新类中的一个小示例,新类比旧类Calendar
和SimpleDateFormat
更方便,代码更清晰。
如果你只想要两位数的数字,而不是字符串,你可以使用:
Year.now().getValue() % 100
。
其他答案在2013年都是不错的答案,但这些年已经过去了。:-)
发布于 2020-05-29 07:41:41
String.format()
也有Date/Time Conversions。
为了得到当前年份的最后两位数,
String.format("%ty", Year.now());
这适用于许多java.time
类,包括Year
、YearMonth
、LocalDate
、LocalDateTime
和ZonedDateTime
。
https://stackoverflow.com/questions/20070258
复制相似问题