Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to create a date object in python representing a set number of days

I would like to define a variable to be a datetime object representing the number of days that is entered by the user. For example.

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

This code would print out a datetime representing 3 days from today if the user entered 3 as their input. Any idea how to do this? I'm completely lost as to an effective approach to this problem.

EDIT: Because of how my system is set up, the variable storing the "deltaDatetime" value must be a datetime value. As I said in the comments, something like 3 days becomes Year 0, January 3rd.

like image 678
avorum Avatar asked Jul 17 '13 19:07

avorum


3 Answers

It's fairly straightforward using timedelta from the standard datetime library:

import datetime
numDays = 5   # heh, removed the 'var' in front of this (braincramp)
print datetime.datetime.now() + datetime.timedelta(days=numDays)
like image 134
zzzirk Avatar answered Sep 22 '22 14:09

zzzirk


deltaDateTime = datetime.timedelta(days=3)
like image 27
Mark Ransom Avatar answered Sep 20 '22 14:09

Mark Ransom


Use timedelta:

from datetime import datetime, timedelta

days = int(raw_input())
print datetime.now() + timedelta(days=days)
like image 45
alecxe Avatar answered Sep 19 '22 14:09

alecxe