2013-07-17 13 views
5

Kullanıcı tarafından girilen gün sayısını temsil eden bir datetime nesnesi olmak için bir değişken tanımlamak istiyorum. Örneğin.python'da belirli bir gün sayısını temsil eden bir tarih nesnesi oluşturma

numDays = #input from user 
deltaDatetime = #this is what I'm trying to figure out how to do 
str(datetime.datetime.now() + deltaDatetime) 

Bu kod kullanıcı kendi giriş olarak 3 girdiyseniz bugünden 3 gün temsil eden bir datetime yazdırmak istiyorum. Bunun nasıl yapılacağı hakkında bir fikrin var mı? Bu soruna etkili bir yaklaşım olarak tamamen kayboldum.

DÜZENLEME: Sistemim nasıl kurulduğundan ötürü, "deltaDatetime" değerini saklayan değişken, datetime değeri olmalıdır. Yorumlarda söylediğim gibi, 3 gün gibi bir şey 3 Ocak Yıl 0 olur.

+0

bu arıyorsunuz? http://docs.python.org/2/library/datetime.html#timedelta-objects –

+0

hum, sadece son günü mi, yoksa bu aralıktaki tüm günleri mi kastediyorsunuz? –

+0

"Belirli bir gün sayısını temsil eden bir tarih nesnesinin" bir tarih olmadığını, bir süre veya benzeri olmadığını unutmayın. –

cevap

3
deltaDateTime = datetime.timedelta(days=3) 
+0

Boşta, python 2,7, bu datetime.timedelta (3) veya '3 gün, 0:00:00' dize olarak gösteriliyorsa. –

+0

@Pawelmhm, ama bir 'datetime' nesnesine eklediğinizde ne olur? O zaman yararlı olur. –

+0

ah, doğru, nereden geldiğini biliyorum. –

10

Standart datetime kütüphanesinden timedelta kullanarak oldukça basittir:

import datetime 
numDays = 5 # heh, removed the 'var' in front of this (braincramp) 
print datetime.datetime.now() + datetime.timedelta(days=numDays) 
+0

'var numDays = 5' pythonic midir? ;) – alecxe

+0

Birisi bugün bir çok javascript yazıyor :) –

+0

Evet, son birkaç hafta boyunca 5 farklı dil gibi yazıyordum, bazen hangi dille ne yazdığını unuttum. – avorum

4

kullanın timedelta:

from datetime import datetime, timedelta 

days = int(raw_input()) 
print datetime.now() + timedelta(days=days) 
+0

Python 2.7'de döndürür: "AttributeError: 'module' nesnesi 'now' özelliğine sahip değil" " –

+2

Lütfen kodu çalıştırın. 'Datetime import datetime, timedelta' import deyimini kullandığınızdan emin olun. – alecxe

+0

Haklısın, kusurum, üzgünüm! –

İlgili konular