443,694 Members | 1,882 Online
Need help? Post your question and get tips & solutions from a community of 443,694 IT Pros & Developers. It's quick & easy.

# incrementing a time tuple by one day

 P: n/a I'm sure this has been asked before, but I wasn't able to find it. First off I know u can't change a tuple but if I wanted to increment a time tuple by one day what is the standard method to do that? I've tried the obvious things and haven't gotten very far. I have a time tuple that was created like this: aDate = '19920228' x = time.strptime(aDate,"%Y%m%d") print x (1992, 2, 28, 0, 0, 0, 4, 59, -1) y = time.mktime(x) + time.mktime((0,0,1,0,0,0,0,0,0)) print y 1643277600.0 print time.ctime(y) 'Thu Jan 27 05:00:00 2022' It appears to have decremented by a day and a month instead of increment. What am I doing wrong? Thanks David ------- Surf a wave to the future with a free tracfone http://cellphone.duneram.com/index.html __________________________________________________ _______________ Check out Election 2004 for up-to-date election news, plus voter tools and more! http://special.msn.com/msn/election2004.armx Jul 18 '05 #1
5 Replies

 P: n/a David Stockwell wrote: I'm sure this has been asked before, but I wasn't able to find it. First off I know u can't change a tuple but if I wanted to increment a time tuple by one day what is the standard method to do that? I've tried the obvious things and haven't gotten very far. I have a time tuple that was created like this: aDate = '19920228' x = time.strptime(aDate,"%Y%m%d") print x (1992, 2, 28, 0, 0, 0, 4, 59, -1) y = time.mktime(x) + time.mktime((0,0,1,0,0,0,0,0,0)) print y 1643277600.0 print time.ctime(y) 'Thu Jan 27 05:00:00 2022' It appears to have decremented by a day and a month instead of increment. What am I doing wrong? What you're doing wrong is: not using the datetime module... aDate = '19920228' x = time.strptime(aDate, '%Y%m%d') print x (1992, 2, 28, 0, 0, 0, 4, 59, -1) d = datetime.datetime.fromtimestamp(time.mktime(x)) d datetime.datetime(1992, 2, 28, 0, 0) y = d + datetime.timedelta(days=1) y.ctime() 'Sat Feb 29 00:00:00 1992' -Peter Jul 18 '05 #2