Re: A problem with Time

2007-08-19 Thread Dick Moores
At 08:30 AM 8/16/2007, special_dragonfly wrote:
Hello,

I need to return the date yesterday in the form DDMM. I looked through
the modules: time, datetime and calendar but can't find anything that leaps
out at me.

The problem I'm having is that although I can use time.localtime and get a
tuple of the year, month, day and so forth, I don't believe I can just minus
1 from the day, because I don't think it's cyclic, also, I can't see the
date being linked in with the month.

So is there any way of getting yesterdays date?

The question has already been well-answered, but since I've found 
using the datetime module to be tough going, I was wondering if 
either of these would be easier to understand and use:
1. http://www.egenix.com/products/python/mxBase/mxDateTime/
I see that mxDateTime comes with a 55-page manual as a PDF.

2. http://labix.org/python-dateutil

Dick Moores




-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A problem with Time

2007-08-16 Thread Shawn Milochik
import time


oneDay = 60 * 60 * 24 #seconds in one day

date = time.time()

yesterday = date - oneDay
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A problem with Time

2007-08-16 Thread syndrowm
On 8/16/07, special_dragonfly [EMAIL PROTECTED] wrote:

 Hello,

 I need to return the date yesterday in the form DDMM. I looked through
 the modules: time, datetime and calendar but can't find anything that
 leaps
 out at me.

 The problem I'm having is that although I can use time.localtime and get a
 tuple of the year, month, day and so forth, I don't believe I can just
 minus
 1 from the day, because I don't think it's cyclic, also, I can't see the
 date being linked in with the month.

 So is there any way of getting yesterdays date?

 Thank You

 Dominic


 --
 http://mail.python.org/mailman/listinfo/python-list


The easiest way I have found, is to use epoch, subtract the length of time,
then convert back to whatever format.  24 hours  is 86400 seconds.

 import time
 time.localtime()
(2007, 8, 16, 9, 41, 28, 3, 228, 1)
 time.localtime(time.time() - 86400)
(2007, 8, 15, 9, 41, 21, 2, 227, 1)
-- 
http://mail.python.org/mailman/listinfo/python-list

Re: A problem with Time

2007-08-16 Thread Diez B. Roggisch
special_dragonfly schrieb:
 Hello,
 
 I need to return the date yesterday in the form DDMM. I looked through 
 the modules: time, datetime and calendar but can't find anything that leaps 
 out at me.
 
 The problem I'm having is that although I can use time.localtime and get a 
 tuple of the year, month, day and so forth, I don't believe I can just minus 
 1 from the day, because I don't think it's cyclic, also, I can't see the 
 date being linked in with the month.
 
 So is there any way of getting yesterdays date?

RTFM is the answer...

import datetime
today = datetime.date.today()
yesterday = today - datetime.timedelta(days=1)
print yesterday


Diez
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A problem with Time

2007-08-16 Thread Neil Cerutti
On 2007-08-16, Shawn Milochik [EMAIL PROTECTED] wrote:
 import time


 oneDay = 60 * 60 * 24 #seconds in one day

 date = time.time()

 yesterday = date - oneDay

Or use a timedelta.

 import datetime
 yesterday = datetime.datetime.today() - datetime.timedelta(days=1)
 yesterday.strftime('%m%d%Y')
'08152007'

-- 
Neil Cerutti
It might take a season, it might take half a season, it might take a year.
--Elgin Baylor
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A problem with Time

2007-08-16 Thread Gary Herron
special_dragonfly wrote:
 Hello,

 I need to return the date yesterday in the form DDMM. I looked through 
 the modules: time, datetime and calendar but can't find anything that leaps 
 out at me.

 The problem I'm having is that although I can use time.localtime and get a 
 tuple of the year, month, day and so forth, I don't believe I can just minus 
 1 from the day, because I don't think it's cyclic, also, I can't see the 
 date being linked in with the month.

 So is there any way of getting yesterdays date?

 Thank You

 Dominic 


   
Here's how I'd do it:


 import time
 secondsPerDay = 24*60*60
 today = time.time()
 yesterday = today - secondsPerDay
 print time.strftime(%d%m%Y,time.localtime(today))
16082007
 print time.strftime(%d%m%Y,time.localtime(yesterday))
15082007

Gary Herron


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A problem with Time

2007-08-16 Thread BartlebyScrivener
On Aug 16, 10:54 am, Diez B. Roggisch [EMAIL PROTECTED] wrote:

 RTFM is the answer...

I don't know. I remember scratching my head for a day or two over the
module explanations and instructions until I found a little howto with
a lot of explicite examples.

http://pleac.sourceforge.net/pleac_python/datesandtimes.html

rd

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A problem with Time

2007-08-16 Thread MRAB
On Aug 16, 4:30 pm, special_dragonfly [EMAIL PROTECTED]
wrote:
 Hello,

 I need to return the date yesterday in the form DDMM. I looked through
 the modules: time, datetime and calendar but can't find anything that leaps
 out at me.

 The problem I'm having is that although I can use time.localtime and get a
 tuple of the year, month, day and so forth, I don't believe I can just minus
 1 from the day, because I don't think it's cyclic, also, I can't see the
 date being linked in with the month.

 So is there any way of getting yesterdays date?

As well as the other replies, this also works (as far as I can tell!):

import time
today = time.localtime()
yesterday = today[ : 2] + (today[2] - 1, ) + today[3 : ]
yesterday = time.localtime(time.mktime(yesterday))

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A problem with Time

2007-08-16 Thread Roger Miller
On Aug 16, 9:46 am, MRAB [EMAIL PROTECTED] wrote:

 As well as the other replies, this also works (as far as I can tell!):

 import time
 today = time.localtime()
 yesterday = today[ : 2] + (today[2] - 1, ) + today[3 : ]
 yesterday = time.localtime(time.mktime(yesterday))

This is something I have wondered about.  The C library mktime
function is
documented to fix up out of range values,.  For example July 32
becomes
August 1 and August -1 becomes July 31.  Python presumably inherits
this
very useful (and seemingly not well known) behavior, but it is not
documented.  Is this just an oversight, or is it intentional on the
grounds
that it might be platform-dependent?  Any language lawyers out there
that
would care to comment?

-- 
http://mail.python.org/mailman/listinfo/python-list