一、使用Java內置的日期類獲取當前年月
Java內置了日期類java.util.Date和java.util.Calendar,可以利用這些類來獲取當前的年月。
import java.util.Date;
import java.text.SimpleDateFormat;
public class GetCurrentMonthYear {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
String currDate = formatter.format(date);
System.out.println("Current Date: " + currDate);
}
}
運行結果:
Current Date: 2022-03
這段代碼首先創建了一個Date對象表示當前時間,然後通過SimpleDateFormat類將其格式化為「yyyy-MM」的格式得到當前年月。
二、使用Java 8中新增的LocalDate類獲取當前年月
從Java 8開始,推薦使用新的日期類java.time包中的類,比如LocalDate。LocalDate類提供了一個簡單的形式來表示日期,可以使用它來獲取當前日期、年份、月份等。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class GetCurrentMonthYear {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
String currDate = date.format(formatter);
System.out.println("Current Date: " + currDate);
}
}
運行結果:
Current Date: 2022-03
這段代碼首先創建了一個LocalDate對象表示當前日期,然後通過DateTimeFormatter類將其格式化為「yyyy-MM」的格式得到當前年月。
三、結合Calendar獲取當前年月
日曆類Calendar提供了獲取不同時間欄位(年、月、日、小時、分鐘等)信息的方法,通過這些方法可以得到當前年月。
import java.util.Calendar;
public class GetCurrentMonthYear {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
System.out.printf("Current Year: %d, Month: %d", year, month);
}
}
運行結果:
Current Year: 2022, Month: 3
這段代碼首先創建了一個Calendar對象表示當前時間,然後通過get()方法獲取年份、月份等信息。由於Calendar中月份的表示範圍是0~11,所以這裡需要加上1得到正確的月份。
四、結合SimpleDateFormat獲取當前年月的天數
除了獲取當前年月,還可以通過SimpleDateFormat類獲取當前月份所包含的天數。
import java.util.Date;
import java.text.SimpleDateFormat;
public class GetCurrentMonthYear {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
String currDate = formatter.format(date);
int days = getDaysOfMonth(currDate);
System.out.printf("Current Date: %s, Days of Month: %d", currDate, days);
}
public static int getDaysOfMonth(String currDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
try {
Date date = formatter.parse(currDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
}
運行結果:
Current Date: 2022-03, Days of Month: 31
這段代碼首先調用getDaysOfMonth()方法獲取當前月份所包含的天數。在getDaysOfMonth()方法中,首先利用SimpleDateFormat類將日期字元串解析為Date對象,然後將其轉換為Calendar對象來獲取當前月份的實際天數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/219753.html