连接2个整数

时间:2019-06-09 07:41:32

标签: java

我想将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作为整数。这可能吗?

2 个答案:

答案 0 :(得分:4)

因为您正在使用Dates,所以我想像这样将LocalDateDateTimeFormatter一起使用:

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

基于Ole V.V.评论

您可以像这样使用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;