Geçerli yıl python'da en basit kodu kullanarak, muhtemelen datetime modülünü kullanarak bir satırda, bir sonraki yıl nasıl basabilirim.Python'da bir sonraki yıla nasıl basılır
cevap
Hem tarih hem de datetime nesnelerine bir sayı olan year
özniteliği vardır. Sadece 1 ekleyin:
>>> from datetime import date
>>> print date.today().year + 1
2013
bir değişkene geçerli yılı varsa, sadece doğrudan 1 ekleyin, datetime modülü ile uğraşmaya gerek yok:
>>> year = 2012
>>> print year + 1
2013
Bir dizesinde tarihi varsa sadece yıl temsil 4 haneyi seçin ve int
iletecek:
>>> date = '2012-06-26'
>>> print int(date[:4]) + 1
2013
yıl aritmetik fazlasıyla basit, o bir tamsayı yapmak ve sadece çok daha basit almaz 1. ekleyin Bundan daha iyi.
ise ancak, bütün bir tarih ile çalışıyorsanız ve aynı tarihine gerek ama bir yıl sonra, bir artırılır yıl ile yeni date
nesnesi oluşturmak için bileşenleri kullanır:
>>> today = date.today()
>>> print date(today.year + 1, today.month, today.day)
2013-06-26
today
29 Şubat bir sıçrama yıl içinde olduğunda bu biraz zor alabilirsiniz
>>> print today.replace(year=today.year + 1)
2013-06-26
Not: ya sen değişti belirtin alanıyla bir kopyasını döndürür .replace
işlevini kullanabilirsiniz. Mutlak hata güvenliği bu bir işe doğru yol olduğunu böylece:
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)
' .replace' işlevi güvenilir şekilde çalışmayacaktır. d = date (2012, 2, 29) '' d.replace (yıl = d.year + 1) '' ValueError atar: gün ay için aralık dışıdır ve yeni bir tarih nesnesi oluşturmak için önceki seçeneğiniz de olmaz Bu davayı hallet. – Duncan
@Duncan: hoş biri; Soru şu ki, bir yıl sonra 29 Şubat nedir? 1 Mart? –
Genellikle 1 Mart ancak istisnalar olabilir. 29 Şubat'ta 1 yıllık bir tahvil çıkarırsanız, bir sonraki yıl 1 Mart'ta olgunlaşacağını düşünüyorum. Tabii ki, para hesaplarına girdiğinizde, ilk iş gününde, hafta sonları ve resmi tatil günlerinde en az bir yıl geçecek şekilde olgunlaşacaktır. – Duncan
- 1. Boşluklu bir tamsayıya nasıl basılır?
- 2. Geçtiğimiz yıllara yıla ekle
- 3. C# .NET formunda bir tuşa nasıl basılır
- 4. Python'da son tuşa nasıl basılır?
- 5. Nümerik dizi veya pandalarla pythonda rutini sadeleştirme
- 6. Tıklama tuşu ile "enter" tuşuna nasıl basılır?
- 7. Görüntü denetleyicisine nasıl basılır (denetleyici denetleyicisi)?
- 8. Son ok tuşunun küfürler kullanılarak nasıl basılır?
- 9. Robotium testi ile yumuşak klavye 'arama' düğmesine nasıl basılır?
- 10. Yıldan yıla, yıl ve ay adı olarak
- 11. Yıldızla argüman nasıl bir sonraki yönteme geçilir?
- 12. Bir sonraki çocuk masaüstüne nasıl oynanır
- 13. İpin bir sonraki kısmını nasıl alabilirim - java?
- 14. TortoiseGit ile itme etiketi, uzaktan depoya nasıl basılır?
- 15. C# SendKeys kullanarak programlı olarak Windows düğmesine nasıl basılır
- 16. ruby webdriver: komut dosyası çalışırken tuşa nasıl basılır?
- 17. Tuşlar nasıl oynanır Dart oyunları için tekrar tekrar basılır?
- 18. yaml - yaml dosyasında uzun süre nasıl değer basılır
- 19. 'git commit --amend' yaptıktan sonra repoya nasıl basılır?
- 20. iPhone'da zor düğmesine nasıl basılır ve 3D dokunuşunu bozar?
- 21. arayüz oluşturucu kullanmadan iPhone'da onclick eylem düğmesine nasıl basılır?
- 22. IOS'da belirli koordinatlara (x ekseni, y ekseni) nasıl basılır?
- 23. Önceki/sonraki oklar düğmesi nasıl?
- 24. AWK: Bir sonraki dosyaya atla
- 25. android - Bir sonraki alarmı al
- 26. Bir sonraki sinyali RxSwift'de gözlemlenebilir bir el ile nasıl gönderilir?
- 27. Eğer taşması durumunda bir sonraki satıra nasıl bir metin yazabilirim?
- 28. Bir satırı bir sonraki beyaz alana nasıl indeksleyebilirim?
- 29. Bir sonraki satıra bir satılamaya devam edin
- 30. Bir sonraki olayı bir dizi olayda bulmak
i '(, time.strptime' Aşağıdaki kodu 'time.strftime (' % Y den 2005-11- '2005' alacak 11 ','% Y-% m-% d '))' .. şimdi ihtiyacım olan şey bu kodu çok fazla değiştirmeden '2006' almaktır – Alchemist777
'time.strptime ('2005-11-11', '% Y-% m-% d ') tm_year + 1' – icecrime
'baskı yılı + 1 ' – Matthias