Liam Clarke wrote:
Hi Brian and Dick,

I for one have learnt a lot from this combined poke around the
workings of datetime. The datetime.year thing never occurred to me,
yet it was so obvious when I saw it being used.

I give you, my python alarm clock timing mechanism, final version!

http://www.rafb.net/paste/results/qur2Pw95.html

Excuse me for butting in at the last minute, but you can use datetime for the date comparison as well. If you create desiredTime first, you can directly compare it with nowTime and increment it if necessary. Also note you can give better names to the hour and minute strings by using tuple assignment:


ja=sys.argv[1]
hh, mm=ja.split(':')
nowTime=datetime.datetime.now()
desiredTime=nowTime.replace(hour=int(hh), minute=int(mm),second=0)

if desiredTime <= nowTime:
    desiredTime += datetime.timedelta(days=1)

Kent


It works on the cmd line -


python alarm.py 17:30

Sets the alarm for the next occurrence of 17:30, using nothing  but
datetime.datetime objects, and one timedelta (maybe).

'Twas a good discussion. : )

Liam Clarke

On Thu, 09 Dec 2004 00:12:04 -0500, Brian van den Broek
<[EMAIL PROTECTED]> wrote:

Brian van den Broek said unto the world upon 2004-12-07 23:57:

Dick Moores said unto the world upon 2004-12-07 12:04:


<SNIP all of Dick and most of Brian's reply>



The note you reference:

date2 is moved forward in time if timedelta.days > 0, or backward if
timedelta.days < 0. Afterward date2 - date1 == timedelta.days.
timedelta.seconds and timedelta.microseconds are ignored. OverflowError
is raised if date2.year would be smaller than MINYEAR or larger than
MAXYEAR.

presupposes you are adding a timedelta to a datetime as in Tim's
suggestion. It makes no promises if you were doing something goofy like
I was. (If that is what you were trying to get me to see, sorry, but I
missed it.)

Hey Dick and all,

I've taken a look at your code and finally seen what you meant, Dick.
You were trusting datetime (along the same lines that Tim suggested to
me) and thus weren't facing the problems I'd caused for myself. Sorry
for missing your point before. Thanks,

Brian vdB


I hope this clarifies things some :-)

Ah, irony!




_______________________________________________ Tutor maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/tutor




_______________________________________________
Tutor maillist  -  [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to