msg86132 - (view) |
Author: Brian Quinlan (bquinlan) *  |
Date: 2009-04-18 18:37 |
...in seconds-based library functions (e.g. time.sleep) and calculations (e.g. distance = velocity * ?). |
|
|
msg86133 - (view) |
Author: Georg Brandl (georg.brandl) *  |
Date: 2009-04-18 19:22 |
Please include a proper description of your problem, and a patch description when you post a patch. |
|
|
msg86135 - (view) |
Author: Brian Quinlan (bquinlan) *  |
Date: 2009-04-18 19:36 |
I did add a patch description: "Adds a datetime.total_seconds attribute" - is that unclear? The idea is that you should be able to extract the total number of seconds in the duration i.e. >>> dt = datetime.timedelta(seconds=1234567.89) >>> dt.total_seconds 1234567.89 |
|
|
msg86136 - (view) |
Author: Georg Brandl (georg.brandl) *  |
Date: 2009-04-18 20:02 |
I saw the patch description as well, but usually you put that description, and perhaps a motivation as well, in the comment. That way it's easier for people to directly see what an issue is about. |
|
|
msg86138 - (view) |
Author: Brian Quinlan (bquinlan) *  |
Date: 2009-04-18 20:20 |
OK, a bit on motivation: 1. datetime.timedelta instances are a convenient way of representing durations 2. datetime.timedelta instances cannot be conveniently used in many calculations e.g. calculating distance based on velocity and time 3. datetime.timedelta instances cannot be conveniently used in many library functions e.g. time.sleep(), urllib2.urlopen(timeout=) I propose to fix that by adding a timedelta.total_seconds attribute that equals: timedelta.days * 3600 * 24 + timedelta.seconds + timedelta.microseconds / 100000.0 |
|
|
msg86147 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2009-04-18 23:49 |
The addition looks quite legitimate to me. The only thing is that it may be better as a method (total_seconds()) rather than an attribute, given the other APIs in the datetime module. Also, the patch lacks some unit tests. |
|
|
msg86148 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2009-04-18 23:50 |
Sorry for the last comment about unit tests, they are here actually :-) |
|
|
msg86167 - (view) |
Author: Brian Quinlan (bquinlan) *  |
Date: 2009-04-19 12:07 |
Attached is a patch that implements .total_seconds as an instance method |
|
|
msg87768 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2009-05-14 21:38 |
Given the timing, I fear this will have to wait for 3.2. |
|
|
msg95726 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2009-11-25 23:04 |
The patch is committed in r76529 (trunk) and r76530 (py3k). Thank you! |
|
|
msg95732 - (view) |
Author: Mark Dickinson (mark.dickinson) *  |
Date: 2009-11-26 08:13 |
A late note: this would be redundant if the oft-requested division of timedeltas were implemented: t.total_seconds could then be spelt t/timedelta(seconds=1) with the advantage that there would then be a natural way to spell t.total_days or t.total_hours as well. |
|
|
msg95733 - (view) |
Author: Mark Dickinson (mark.dickinson) *  |
Date: 2009-11-26 08:14 |
That should be t.total_seconds(), of course. |
|
|
msg95740 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2009-11-26 12:17 |
> A late note: this would be redundant if the oft-requested division of > timedeltas were implemented: t.total_seconds could then be spelt > > t/timedelta(seconds=1) It would be less obvious, though. |
|
|
msg145928 - (view) |
Author: Giampaolo Rodola' (giampaolo.rodola) *  |
Date: 2011-10-19 18:15 |
Sorry for commenting on a closed issue but I just bumped into a problem requiring a total_minute() method I ended up implementing by doing some raw math by hand. Would it be a reasonable addition? If so I'll open a separate issue. |
|
|
msg146115 - (view) |
Author: Mark Dickinson (mark.dickinson) *  |
Date: 2011-10-21 19:28 |
What about def total_minutes(td): return td / datetime.timedelta(minutes=1) ? |
|
|
msg146131 - (view) |
Author: Brian Quinlan (bquinlan) *  |
Date: 2011-10-21 20:34 |
You'll probably get more traction if you file a new bug. |
|
|