如何在Java中仅从月份和年份生成日期?java.time
我需要为信用卡到期日期生成一个新的Date对象,我只有一个月和一年,我如何根据这两个日期生成一个日期?我需要最简单的方法。我在这里阅读了一些其他答案,但它们似乎都太复杂了。
我需要为信用卡到期日期生成一个新的Date对象,我只有一个月和一年,我如何根据这两个日期生成一个日期?我需要最简单的方法。我在这里阅读了一些其他答案,但它们似乎都太复杂了。
您可以使用 :java.util.Calendar
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.YEAR, year);
Date date = calendar.getTime();
使用 Java 8 中内置的框架java.time
import java.time.YearMonth;
int year = 2015;
int month = 12;
YearMonth.of(year,month); // 2015-12
从String
YearMonth.parse("2015-12"); // 2015-12
定制DateTimeFormatter
import java.time.format.DateTimeFormatter;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM yyyy");
YearMonth.parse("12 2015", formatter); // 2015-12
转换转换为更标准的日期表示形式,即 .YearMonth
LocalDate
LocalDate startMonth = date.atDay(1); //2015-12-01
LocalDate endMonth = date.atEndOfMonth(); //2015-12-31