467,074 Members | 1,088 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,074 developers. It's quick & easy.

How to get hours and minutes from 'datetime.timedelta' object?

Lad
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.

Aug 7 '06 #1
  • viewed: 27007
Share:
5 Replies
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<----------------------------

Aug 7 '06 #2
Ant

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.

Aug 7 '06 #3

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.
Aug 7 '06 #4
Ant

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 ;-)

Aug 7 '06 #5

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

Aug 7 '06 #6

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
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
2 posts views Thread by skip@pobox.com | last post: by
18 posts views Thread by Dirk Hagemann | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.