如何使用 Java 从 Date 中提取日、月和年?
How to extract day, month and year from Date using Java?
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date date = formatter.parse("2020/05/06");
我需要从中提取日、月和年,即
int day = 06;
int month = 05;
int year = 2020;
但是当我使用
int day = date.getDay();
int month = date.getMonth();
int day = date.getYear();
它不工作。
不要使用 Date
,因为它已被弃用。使用LocalDate and DateTimeFormatter如下。
LocalDate ld = LocalDate.parse("2020/05/06",
DateTimeFormatter.ofPattern("yyyy/MM/dd"));
int year = ld.getYear();
int month = ld.getMonthValue();
int day = ld.getDayOfMonth();
System.out.println(month + " " + day + " " + year);
版画
5 6 2020
查看 java.time 包中的其他 date/time 相关 类。
将新的 api 用作 会好得多,但如果出于某种原因您想使用旧的 api,则应使用 Calendar
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
formatter.parse("2020/11/06");
Calendar calendar = formatter.getCalendar();
int day = calendar.get(Calendar.DAY_OF_MONTH);
int month = calendar.get(Calendar.MONTH) + 1; // add 1 because it returns 0-11
int year = calendar.get(Calendar.YEAR);
System.out.println(day);
System.out.println(month);
System.out.println(year);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date date = formatter.parse("2020/05/06");
我需要从中提取日、月和年,即
int day = 06;
int month = 05;
int year = 2020;
但是当我使用
int day = date.getDay();
int month = date.getMonth();
int day = date.getYear();
它不工作。
不要使用 Date
,因为它已被弃用。使用LocalDate and DateTimeFormatter如下。
LocalDate ld = LocalDate.parse("2020/05/06",
DateTimeFormatter.ofPattern("yyyy/MM/dd"));
int year = ld.getYear();
int month = ld.getMonthValue();
int day = ld.getDayOfMonth();
System.out.println(month + " " + day + " " + year);
版画
5 6 2020
查看 java.time 包中的其他 date/time 相关 类。
将新的 api 用作 Calendar
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
formatter.parse("2020/11/06");
Calendar calendar = formatter.getCalendar();
int day = calendar.get(Calendar.DAY_OF_MONTH);
int month = calendar.get(Calendar.MONTH) + 1; // add 1 because it returns 0-11
int year = calendar.get(Calendar.YEAR);
System.out.println(day);
System.out.println(month);
System.out.println(year);