2017-01-11 61 views
5

Tarihsaat önceki saate nasıl çevrilir?Referans hafızasını bir önceki saate düşürün

print datetime.now().replace(microsecond=0) 
>> 2017-01-11 13:26:12.0 

yuvarlak aşağı önceki saate: örneğin 2017-01-11 12:00:00.0

+2

Tarihiniz '2017-01-11 00: 11: 22' ise, tarihinizin bir önceki gün olmasını ister misiniz? Günışığı Tasarruf Süresini düşünmeniz gerekiyor mu? –

+0

hayır, '2017-01-11 00: 00: 00' – DougKruger

+0

@DougKruger: Biraz kafam karışmış: siz * önceki * saate yuvarlamak istediğinizi söylüyorsunuz, ama yorumunuzda, sadece yuvarlanıyor gibisin. Bu sadece bir günün başlangıcında mı? Yoksa bir şeyi gözden kaçırıyor muyum? –

cevap

10

sen, sadece sıfıra minutes, seconds ve minutes tüm yerini alabilir saat aşağı turda istediğiniz Verilen:

print(datetime.now().replace(microsecond=0,second=0,minute=0)) 

önceki saat (örneğin 2017-01-11 12:00:00.0 için 2017-01-11 13:26:12.0 belirtildiği gibi) için 0 ile microseconds, seconds ve minutes yerine, ve daha sonra bir saat sonra çıkarma:

$ python3 
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from datetime import datetime, timedelta 
>>> print(datetime.now().replace(microsecond=0,second=0,minute=0)-timedelta(hours=1)) 
2017-01-11 16:00:00 
+0

Önce dakika/saniye/mikro saniye cinsinden 0 olmadığından emin olmalısınız. Aksi takdirde '2017-01-11 16: 00: 00' yerine '2017-01-11 15: 00: 00'. – chepner

+0

@chepner: Neden olmadım? OP, * önceki * saat sorar. Tam olarak '12: 00: 00' olduğu göz önüne alındığında, önceki '11: 00: 00' –

+0

Yuvarlama işlemi genellikle geçerli bir yuvarlanmış değer olan bir değere uygulanmaz. '12: 00: 00' yuvarlak bir değer, '12: 00: 01' değil. – chepner

2
: kabuğunda

from datetime import datetime, timedelta 

print(datetime.now().replace(microsecond=0,second=0,minute=0)-timedelta(hours=1)) 

Örnek

from datetime import datetime, timedelta 

n = datetime.now() - timedelta(hours=1) 
new_date = datetime(year=n.year, month=n.month, day=n.day, hour=n.hour)