user4690602
user4690602

Reputation: 129

Converting a datetime object to an integer python

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

Answers (2)

Converting a timedelta to an float/int in minutes can be done by:

time_taken.total_seconds()*60

Upvotes: 0

Molek
Molek

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

Related Questions