2012-02-28 20 views
16

thể trùng lặp:
Get Last Day of the Month in PythonLàm thế nào để tìm số ngày trong tháng hiện tại

Làm thế nào tôi có thể nhận được số ngày trong tháng hiện tại? Tức là, nếu tháng hiện tại là "Tháng 1 năm 2012", tôi sẽ nhận được 31. Nếu đó là "Tháng 2 năm 2012", tôi sẽ nhận được 29.

+3

Xem câu hỏi này: http://stackoverflow.com/questions/42950/get-last-day -of-the-month-in-python – Peter

+0

@peter đẹp Tôi vừa xem http://docs.python.org/library/calendar.html, phải có kính được thông qua 'monthrange' –

+0

' def days_in_month(): return 29' –

Trả lời

28

Như Peter đã đề cập, calendar.monthrange(year, month) trả về ngày trong tuần (0-6 ~ Mon-Sun) và số trong số ngày (28-31) cho year, month.

>>> import calendar 
>>> print calendar.monthrange(2012,1)[1] 
31 
>>> calendar.monthrange(2012,2)[1] 
29 

Sửa: cập nhật câu trả lời để trả lại số ngày của tháng hiện tại

>>> import calendar 
>>> import datetime 
>>> now = datetime.datetime.now() 
>>> print calendar.monthrange(now.year, now.month)[1] 
29 
+0

Thanks !!!! nhưng tôi không muốn hardcode những ngày như (2012,1) .. Tôi muốn nó được hệ thống ngày – Alchemist777

+0

cập nhật câu trả lời. – BioGeek

+0

Cảm ơn bạn rất nhiều.Điều này làm việc cho windows..i đang sử dụng ubuntu 11.10 ..và nhập khẩu lịch sản xuất các lỗi "Không có mô-đun được đặt tên lịch" .. bất kỳ ý tưởng ??? hoặc là có một phương pháp thay thế của việc này được thực hiện mà không cần sử dụng 'lịch' ??? – Alchemist777

Các vấn đề liên quan