Tính số tuổi của 1 người cụ thể được bao nhiêu năm, tháng, ngày - Python

:frowning: Đây là code của em ạ, em chưa biết phải tính xem được bao nhiêu năm , tháng, với ngày kiểu gì , date_format thì nó chỉ đưa ngày thứ bao nhiêu trong năm từ 1 thời gian cụ thể

from datetime import date

d0 = date(2008, 8, 18)
d1 = date(2008, 9, 26)
delta = d1 - d0
print(delta.days)

đây là chỉ có days thôi bác, em muốn theo form kiểu years + months + days cơ .

Ví dụ như này: tính 72 - 34
2 trừ 4 là số âm nên lấy 12 - 4 = 8
hay 72 - 34 = 60 - 30 + 12 - 4 = 38
như vậy đó.

3 Likes

bạn này nghĩ xa xôi thật. :smiley:
ví dụ bạn sinh năm ngày 9/5/2000, hôm nay là 8/6/2020
vậy năm = 2020 - 2000 = 20 năm
tháng = 6 - 5 = 1 tháng
ngày = 8 - 9 = -1 ngày
=> giờ bắt đầu tính ngược lại
-1 ngày thì mượn 1 tháng và lẻ tháng 5 trừ từ tháng 6, tức là 31-1 = 30 ngày
vậy tóm lại sẽ là 20 năm , 0 tháng và 30 ngày.

2 Likes

Vậy nếu bạn tính ra là 5 tháng - 1 ngày thì kết quả là bao nhiêu?

Vậy nếu bạn tính ra là 5 tháng - 1 ngày thì kết quả là bao nhiêu?

Tùy vào cái tháng đang tính là tháng đủ hay thiếu thôi bạn. Nếu nằm giữa tháng 5 và tháng 6 như ở trên thì là tháng đủ, tức là quy đổi 1 tháng = 31 ngày. Nếu nằm giữa tháng 4 và 5 thì là thiếu và quy đổi 1 tháng = 30 ngày.

2 Likes

Quy đổi ra năm tháng ngày lại vấp phải năm nhuận, tháng nhuận, lấy 30 hay 31 làm chuẩn ngày của 1 tháng?
Nếu yêu cầu quy đổi là bắt buộc thì phải có chuẩn chung. Còn không, cứ tính ngày cho lành.

2 Likes


Em code thế này có đúng không các bác nhỉ

Bạn thớt vui lòng copy code lên và sửa lại cái spell-checking nhé :slight_smile:

Trông có vẻ ổn.

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