|
Hello,
what is the best /easest way how to get number of hours and minutes
from a timedelta object?
Let's say we have
aa=datetime.datetime(2006, 7, 29, 16, 13, 56, 609000)
bb=datetime.datetime(2006, 8, 3, 17, 59, 36, 46000)
so
c=bb-aa
will be
datetime.timedelta(5, 6339, 437000)
I can easily get days ( c.days)
but
I still can not figure out how easily to get hours and minutes
Any idea?
Thank you for help
L. | |
Share:
|
Lad wrote:
Hello,
what is the best /easest way how to get number of hours and minutes
from a timedelta object?
Let's say we have
aa=datetime.datetime(2006, 7, 29, 16, 13, 56, 609000)
bb=datetime.datetime(2006, 8, 3, 17, 59, 36, 46000)
so
c=bb-aa
will be
datetime.timedelta(5, 6339, 437000)
I can easily get days ( c.days)
but
I still can not figure out how easily to get hours and minutes
Any idea?
WTF^H^H^H ... You got an answer to this question 5 days ago .....
[thread copied below]
8<-------------------------------
Lad wrote:
Sybren Stuvel wrote:
Lad enlightened us with:
How can I find days and minutes difference between two datetime
objects?
For example If I have
b=datetime.datetime(2006, 8, 2, 8, 57, 28, 687000)
a=datetime.datetime(2006, 8, 1, 18, 19, 45, 765000)
diff = b - a
Ok, I tried
>diff=b-a diff
datetime.timedelta(0, 52662, 922000)
>diff.min
datetime.timedelta(-999999999)
Reread the manual:
1. "min" is minIMUM, not minUTES
2. You need:
>>diff.days
0
>>diff.seconds
52662
>>diff.microseconds
922000
>>minutes = (diff.seconds + diff.microseconds / 1000000.0) / 60.0 minutes
877.71536666666668
8<---------------------------- | | |
John Machin wrote:
Lad wrote:
Hello,
what is the best /easest way how to get number of hours and minutes
from a timedelta object?
....
>diff.days
0
>diff.seconds
52662
>diff.microseconds
922000
>minutes = (diff.seconds + diff.microseconds / 1000000.0) / 60.0 minutes
877.71536666666668
I suspect what Lad wanted was something more like:
>>def secs_mins_hours(timed):
.... total_secs = timed.seconds
.... secs = total_secs % 60
.... total_mins = total_secs / 60
.... mins = total_mins % 60
.... hours = total_mins / 60
.... return (secs, mins, hours)
>>aa=datetime.datetime(2006, 7, 29, 16, 13, 56, 609000) bb=datetime.datetime(2006, 8, 3, 17, 59, 36, 46000) td = aa - bb secs_mins_hours(td)
(39, 45, 1)
I'm surprised that the timedelta class hasn't got secs, mins and hours
properties - they could be generated on the fly in a similar way. | | |
Ant wrote:
John Machin wrote:
Lad wrote:
Hello,
what is the best /easest way how to get number of hours and minutes
from a timedelta object?
...
>>diff.days
0
>>diff.seconds
52662
>>diff.microseconds
922000
>>minutes = (diff.seconds + diff.microseconds / 1000000.0) / 60.0
>>minutes
877.71536666666668
I suspect what Lad wanted was something more like:
1. If that's what he wanted, it was a very peculiar way of asking. Do
you suspect that he needs to be shown how to conver 877.7... minutes
into hours, minutes and seconds???
2. Please consider that the order of the result would be more
conventionally presented as (hours, minutes, seconds) -- or do you
suspect that the OP needs it presented bassackwards?
>
>def secs_mins_hours(timed):
... total_secs = timed.seconds
... secs = total_secs % 60
... total_mins = total_secs / 60
... mins = total_mins % 60
... hours = total_mins / 60
... return (secs, mins, hours)
>aa=datetime.datetime(2006, 7, 29, 16, 13, 56, 609000) bb=datetime.datetime(2006, 8, 3, 17, 59, 36, 46000) td = aa - bb secs_mins_hours(td)
(39, 45, 1)
I'm surprised that the timedelta class hasn't got secs, mins and hours
properties - they could be generated on the fly in a similar way.
| | |
John Machin wrote:
....
1. If that's what he wanted, it was a very peculiar way of asking. Do
you suspect that he needs to be shown how to conver 877.7... minutes
into hours, minutes and seconds???
Chill dude, It wasn't an attack :-)
The datetime class has hour, minute and second attributes that give the
values of each as being in range(24) (hours) and range(60). i.e.
integers. So an educated guess leads me to the conclusion that it is
similar functionality that he wants from the timedelta class.
2. Please consider that the order of the result would be more
conventionally presented as (hours, minutes, seconds) -- or do you
Very good point. That would have been a tricky issue for the OP, and
for that I apologise.
suspect that the OP needs it presented bassackwards?
I think that you have that last word muddled. Not quite ass-backward,
but close ;-) | | |
Ant wrote:
John Machin wrote:
...
1. If that's what he wanted, it was a very peculiar way of asking. Do
you suspect that he needs to be shown how to conver 877.7... minutes
into hours, minutes and seconds???
Chill dude, It wasn't an attack :-)
I didn't think it was.
>
The datetime class has hour, minute and second attributes that give the
values of each as being in range(24) (hours) and range(60). i.e.
integers. So an educated guess leads me to the conclusion that it is
similar functionality that he wants from the timedelta class.
2. Please consider that the order of the result would be more
conventionally presented as (hours, minutes, seconds) -- or do you
Very good point. That would have been a tricky issue for the OP, and
for that I apologise.
suspect that the OP needs it presented bassackwards?
I think that you have that last word muddled. Not quite ass-backward,
but close ;-)
On the contrary. It means "ass-backward, and then some". Google
"dictionary bassackwards" and read the first few hits.
Cheers,
John | | This discussion thread is closed Replies have been disabled for this discussion. Similar topics
14 posts
views
Thread by Paul Moore |
last post: by
|
16 posts
views
Thread by Donnal Walter |
last post: by
|
2 posts
views
Thread by Samuel |
last post: by
|
1 post
views
Thread by James |
last post: by
|
4 posts
views
Thread by Shaun |
last post: by
|
2 posts
views
Thread by Randall Parker |
last post: by
|
1 post
views
Thread by serge |
last post: by
|
2 posts
views
Thread by skip@pobox.com |
last post: by
|
18 posts
views
Thread by Dirk Hagemann |
last post: by
| | | | | | | | | | |