Để lấy ngày đầu tháng và cuối tháng bằng Java mình sử dụng lớp (Class) Calendar.java do Java cung cấp. Sau đây là ví dụ lấy ngày nhỏ nhất và lớn nhất trong tháng bằng Java.
Xem thêm: Chuyển đổi ngày tháng trong java
1. Ví dụ lấy ngày đầu tháng và cuối tháng bằng Java trong tháng hiện tại.
Đầu tiên mình sẽ lấy ra ngày hiện tại và tiếp theo viết hai phương thức lần lượt là tìm số ngày nhỏ nhất (minDay()) và lớn nhất (maxDay()).
Cú pháp lấy thời gian hiện tại.
1
|
Date date = new Date();
|
Phương thức lấy ngày nhỏ nhất trong tháng hiện tại.
1
2
3
4
5
6
7
8
|
public static int minDay(int month, int year) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, month – 1);
cal.set(Calendar.DAY_OF_MONTH, month – 1);
cal.set(Calendar.YEAR, year);
int minDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
return minDay;
}
|
Tiếp theo là phương thức lấy ngày lớn nhất trong tháng hiện tại.
1
2
3
4
5
6
7
8
|
public static int maxDay(int month, int year) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, month – 1);
cal.set(Calendar.DAY_OF_MONTH, month – 1);
cal.set(Calendar.YEAR, year);
int maxDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
return maxDay;
}
|
Dưới đây là lớp (Class) TestMaxDay.java chứa hai phương thức trên và phương thức main() dùng để chạy chương trình và in ra kết quả.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
import java.util.Calendar;
import java.util.Date;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author kenhlaptrinh.net
*/
public class TestMaxDay {
public static int minDay(int month, int year) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, month – 1);
cal.set(Calendar.DAY_OF_MONTH, month – 1);
cal.set(Calendar.YEAR, year);
int minDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
return minDay;
}
public static int maxDay(int month, int year) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, month – 1);
cal.set(Calendar.DAY_OF_MONTH, month – 1);
cal.set(Calendar.YEAR, year);
int maxDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
return maxDay;
}
public static void main(String[] args) {
//lấy ngày hiện tại
Date date = new Date();
int month = date.getMonth()+1;
int year = date.getYear()+1900;
System.out.println(“Tháng “ + month + ” Năm “ + year + ” có:”);
System.out.println(“Ngày nhỏ nhất = “ + minDay(month, year));
System.out.println(“Ngày lớn nhất = “ + maxDay(month, year));
}
}
|
2. Kết quả ví dụ lấy ngày đầu tháng và cuối tháng bằng Java trong tháng hiện tại.
1
2
3
4
|
run:
Tháng 4 Năm 2017 có:
Ngày nhỏ nhất = 1
Ngày lớn nhất = 30
|
Ngoài việc lấy ngày đầu tháng và cuối tháng bằng Java thông qua sử dụng lớp (Class) Calendar.java thì các bạn có thể tham khảo thêm một số bài viết tại chuyên mục lập trình nâng cao.