Làm thế nào tôi có thể in năm tiếp theo nếu năm hiện tại được đưa ra trong python bằng cách sử dụng mã đơn giản nhất, có thể trong một dòng sử dụng mô-đun datetime.Làm thế nào để in năm tiếp theo từ năm hiện tại trong Python
Trả lời
Cả đối tượng ngày và giờ trong ngày đều có thuộc tính year
, là một số. Chỉ cần thêm 1:
>>> from datetime import date
>>> print date.today().year + 1
2013
Nếu bạn có năm hiện tại trong một biến, chỉ cần thêm 1 trực tiếp, không cần phải bận tâm với các mô-đun datetime:
>>> year = 2012
>>> print year + 1
2013
Nếu bạn có ngày trong một chuỗi , chỉ cần chọn 4 chữ số mà đại diện cho năm và vượt qua nó để int
:
>>> date = '2012-06-26'
>>> print int(date[:4]) + 1
2013
năm số học là cực kỳ đơn giản, làm cho nó một số nguyên và chỉ cần thêm 1. nó không nhận được nhiều đơn giản r hơn thế.
Tuy nhiên, nếu bạn đang làm việc với một ngày toàn bộ, và bạn cần phải cùng ngày nhưng một năm sau đó, sử dụng các thành phần để tạo ra một đối tượng date
mới với năm tăng thêm một:
>>> today = date.today()
>>> print date(today.year + 1, today.month, today.day)
2013-06-26
hoặc bạn có thể sử dụng .replace
chức năng, mà trả về một bản sao với lĩnh vực bạn chỉ định thay đổi:
>>> print today.replace(year=today.year + 1)
2013-06-26
Lưu ý rằng điều này có thể có được một chút khó khăn khi today
là ngày 29 tháng 2 trong một năm nhuận. Cách chính xác, tuyệt đối không an toàn để làm việc này là:
def nextyear(dt):
try:
return dt.replace(year=dt.year+1)
except ValueError:
# February 29th in a leap year
# Add 365 days instead to arrive at March 1st
return dt + timedelta(days=365)
Hàm' .replace' sẽ không hoạt động đáng tin cậy. 'd = date (2012, 2, 29)' 'd.replace (year = d.year + 1)' ném 'ValueError: ngày nằm ngoài phạm vi cho tháng' và không phải tùy chọn trước của bạn để tạo đối tượng ngày tháng mới xử lý trường hợp này. – Duncan
@Duncan: đẹp nhất; câu hỏi là sau đó, 29 tháng 2 năm sau là gì? Ngày 1 tháng 3? –
Thường là ngày 1 tháng 3 nhưng có thể có ngoại lệ. Nếu bạn lấy một trái phiếu 1 năm vào ngày 29 tháng 2 thì tôi nghĩ nó sẽ đáo hạn vào ngày 1 tháng 3 năm sau. Tất nhiên một khi bạn nhận được vào tính toán tiền nó thực sự sẽ trưởng thành vào ngày làm việc đầu tiên đó là ít nhất một năm nghỉ bỏ qua cuối tuần và ngày lễ ngân hàng. – Duncan
- 1. Năm thả xuống PHP populating năm - cách chọn năm hiện tại
- 2. Thêm một năm trong PYTHON ngày hiện tại
- 3. Python chọn ngày ngẫu nhiên trong năm hiện tại
- 4. Làm thế nào để có được ngày đầu tiên của năm hiện tại trong javascript?
- 5. Làm cách nào để buộc Excel tự động điền vào năm trước trong cột thay vì năm hiện tại?
- 6. Tôi muốn điền năm năm vào danh sách thả xuống bằng javascript và các năm sẽ sau năm hiện tại
- 7. Làm thế nào để trích xuất năm từ một đối tượng datetime Python?
- 8. Câu hỏi tháng/năm SQL hiện tại
- 9. lưu trữ ngày và ngày hiện tại 1 năm kể từ hiện tại trong java
- 10. Chèn năm hiện tại vào một TextView
- 11. Nhận một năm trở lại từ ngày hiện tại
- 12. làm thế nào để có được tháng hiện tại và năm
- 13. năm Input, sau đó in lịch
- 14. jquery ui datepicker tiếp theo và năm trước
- 15. Nhận năm và tuần trong năm từ ngày PHP() khi tuần kéo dài hai năm
- 16. ngày PHP thêm 1 năm để ngày hiện tại
- 17. DATEPART (năm, ...) so với năm (...)
- 18. Tính năm từ ngày
- 19. Làm thế nào để tính toán cho năm nhuận?
- 20. Django: Nhóm theo ngày (ngày, tháng, năm)
- 21. Làm cách nào để có được ngày của năm đầu tiên của năm với SQL?
- 22. năm increment Auto trong vòng lặp mỗi năm
- 23. iphone Nhận năm hiện tại dưới dạng chuỗi
- 24. Oracle ngày - Làm thế nào để thêm năm đến nay
- 25. Làm thế nào để có được số năm với PHP?
- 26. Truy vấn SQL để truy xuất dữ liệu năm tài chính được nhóm theo năm
- 27. Làm thế nào để có được tất cả các ngày cuối tuần của năm hiện tại trong SQL?
- 28. Làm cách nào để có được năm hiện tại bằng cách sử dụng SQL trên Oracle?
- 29. nhóm theo mongoose.js tháng, năm sử dụng
- 30. Làm thế nào để trừ một năm kể từ ngày giờ?
tôi sẽ lấy '2005' từ mã sau 'time.strftime ('% Y ', time.strptime (' 2005-11- 11 ','% Y-% m-% d '))' .. bây giờ những gì tôi cần là để có được '2006' mà không có nhiều thay đổi đối với mã này – Alchemist777
'time.strptime ('2005-11-11', '% Y-% m-% d '). Tm_year + 1' – icecrime
'print year + 1' – Matthias