Şu anki saati aşağıdaki gibi elde edebiliyorum:
from datetime import datetime
str(datetime.now())[11:19]
Sonuç
'19:43:20'
Şimdi, 9 hours
yukarı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 hours
yukarı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 " timedelta
nesneler tarih ve datetime
nesnelerle belirli toplama ve çıkarma destekler " 2) timedelta
Parametrelerden 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 strptime
ve strftime
davranabilirsiniz .
datetime.now().strftime('%H:%M:%S')