Ý tưởng để "Tìm ngày trước đó k ngày"

Anh chị em nào cho em xin ý tưởng ạ.

Dùng câu lệnh if
mình phải xét tất cả các điều kiện

- Những tháng có 31 ngày 
- Những thangs có 30 ngày
- Xét năm nhuận + năm không nhuận với tháng 2
(chia hết cho 4 nhưng không chia hết cho 100) || (chia hết cho 400)

Sau đó mình nhập vào 1 ngày, tháng, năm …xét các điều kiện trên

ví dụ năm nhuận tháng 2 có 29 ngày…giờ mình nhập vào ngày 30 thì nó sẽ in ra cho mình là ngày 1 của tháng 3

=> in ra ngày trước đó cũng vậy…cái này cứ câu lệnh if mà táng :slight_smile:

2 Likes

Việc check if else rất là cực vì rất nhiều trường hợp. Nếu bạn sử dụng java thì có một lớp Calendar có hỗ trợ API để làm điều này.

Calendar cal = Calendar.getInstance()
cal.add(Calendar.DATE, -7);
System.out.println("Date  "+ cal.getTime());

Ví dụ trên là tìm ngày ở 7 ngày trước so với ngày hiện tại.

1 Like

Mình không hiểu chỗ này lắm, Ý mình là mình nhập vào ngày 1/4/2015, nhập k = 40 thì nó xuất ra ngày 10/5/2015 ấy.

Mình cũng đang học Java core nhưng chưa tìm hiểu cái này. Bài này mình làm c++

thì going ý tưởng trên
bạn nhập vào ngày/thang/nam
bạn phải xét tất cả các điều kiện trên…nếu như bạn nhập 1/4/2015, nhập k = 40 (k đây có phải ngày phải không)

bạn xét tháng 4 có bao hiều ngày 30 => k - 30 =40 - 30 = 10( dư ra)

bạn dư ra 10 ngày này thì tháng sẽ thang = thang + 1 ; ngay = ngaydu

1 Like

MÌnh hiểu rồi. Còn phải xử lý thêm năm >365 nửa? :smile:
Cảm ơn bạn. Khi nào làm xong mình post Code lên bạn xem thử.

Bài này if else thật không dễ, bắt tay vô làm thì bí mất tiêu :blush:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?