Python'da geçerli saate saat nasıl eklenir


158

Şu anki saati aşağıdaki gibi elde edebiliyorum:

from datetime import datetime
str(datetime.now())[11:19]

Sonuç

'19:43:20'

Şimdi, 9 hoursyukarıdaki süreye eklemeye çalışıyorum , Python'da şimdiki saate nasıl saat ekleyebilirim?


12
Geçerli saati bu şekilde biçimlendirmek içindatetime.now().strftime('%H:%M:%S')
eumiro

Yanıtlar:


368
from datetime import datetime, timedelta

nine_hours_from_now = datetime.now() + timedelta(hours=9)
#datetime.datetime(2012, 12, 3, 23, 24, 31, 774118)

Ardından, ilgili parçaları almak için dize biçimlendirmesini kullanın:

>>> '{:%H:%M:%S}'.format(nine_hours_from_now)
'23:24:31'

Yalnızca tarih saatini biçimlendiriyorsanız şunları kullanabilirsiniz:

>>> format(nine_hours_from_now, '%H:%M:%S')
'23:24:31'

Veya @eumiro'nun yorumlarda belirttiği gibi - strftime


Bu neden En İyi Cevap değil? Herhangi bir yan etkisi var mı? bildirilmemiş hata?
Braza

6
@Braza OP kabul etmeyi seçmedi. Yan etki veya böcek yok.
Jon Clements

@JonClements Cevabınız için teşekkür ederim :). Test ettim ve onayladım.
Braza

3
Bu DST için güvenli değil.
Antti Haapala

1
Soru, saatlerin nasıl ekleneceğini sorar , ancak saat çıkarma iki şekilde yapılabilir: 1) Toplama operatörü ( -) yerine çıkarma operatörünü ( ) kullanın +; belgelere göre " timedeltanesneler tarih ve datetimenesnelerle belirli toplama ve çıkarma destekler " 2) timedeltaParametrelerden herhangi birine negatif bir değer iletin; belgelere göre , "Bağımsız değişkenler ints, longs veya floats olabilir ve pozitif veya negatif olabilir."
Kırmızı Bezelye

20

İçe datetime ve timedelta :

>>> from datetime import datetime, timedelta
>>> str(datetime.now() + timedelta(hours=9))[11:19]
'01:41:44'

Ama daha iyi yol:

>>> (datetime.now() + timedelta(hours=9)).strftime('%H:%M:%S')
'01:42:05'

Python'un tarih ve saat alanını nasıl işlediğini daha iyi anlamak için başvurabilir strptimeve strftimedavranabilirsiniz .


Python belgelerine bağlantılar tarih / saati ayrıştırma ve biçimlendirme hakkında bilgi verir .
hc_dev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.