Ş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?
Ş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?
Yanıtlar:
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
-) 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."
>>> 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 .
datetime.now().strftime('%H:%M:%S')