Reputation: 129
I would like to convert a datetime object to an int in python:
import datetime
time_entered = datetime.datetime.strptime(raw_input("Time1: "), "%H%M")
time_left = datetime.datetime.strptime(raw_input("Time2"), "%H%M")
time_taken = time_left - time_entered
int(time_taken)
When I run that code I get the following error:
TypeError: int() argument must be a string or a number, not 'datetime.timedelta'
Upvotes: 11
Views: 57578
Reputation: 1941
Converting a timedelta to an float/int in minutes can be done by:
time_taken.total_seconds()*60
Upvotes: 0
Reputation: 321
You can convert the datetime object to a timetuple, and then use the time.mktime function
import time
from datetime import datetime
timestamp = int(time.mktime(datetime.now().timetuple()))
Convert it back with:
now = datetime.fromtimestamp(timestamp)
Upvotes: 22