我想将2个整数的值合并为一个。我尝试过:
private String parseExpDate(Integer month, Integer year) {
Integer last_digits = year % 100;
StringBuilder concatenated = new StringBuilder();
concatenated.append(month);
concatenated.append(last_digits);
return concatenated.toString();
}
但是我必须将其转换为String。例如,如果我的月份为11
,年份的年份为2019
,那么我想在末尾获得1119
作为整数。这可能吗?
答案 0 :(得分:4)
因为您正在使用Dates
,所以我想像这样将LocalDate
与DateTimeFormatter
一起使用:
private String parseExpDate(Integer year, Integer month) {
LocalDate ld = LocalDate.of(year, month, 1);
return ld.format(DateTimeFormatter.ofPattern("MMuu"));
}
System.out.println(parseExpDate(11, 2019));
=> 1119
您可以像这样使用YearMonth
而不是LocalDate
:
private String parseExpDate(Integer month, Integer year) {
YearMonth ym = YearMonth.of(month, year);
return ym.format(DateTimeFormatter.ofPattern("MMuu"));
}
我想在最后获得1119作为整数
要获取整数,您可以像这样使用Integer.valueOf()
或Integer.parseInt()
:
private int parseExpDate(Integer month, Integer year) {
YearMonth ym = YearMonth.of(month, year);
String dt = ym.format(DateTimeFormatter.ofPattern("MMuu"));
return Integer.parseInt(dt);
}
答案 1 :(得分:2)
如何将月份乘以100,然后将其向左移动两位数,然后将年份的最后两位数字相加呢? (您已经有了获取问题中年份的后两位数字的代码:year % 100
)
int combined = 100 * month + year % 100;