0

Quick question. Does someone know why I'am getting an 'Invalid Syntax' error usign this code? Thank you all.

def get_time_difference(date, time_string):
    time_difference = datetime.now() - datetime.strptime(f"{date} {time_string}", "%d-%m-%Y %H:%M")
    return f"{time_difference.hour}:{time_difference.minute}"


get_time_difference(1-1-2020 1:50)
ManCity10
  • 119
  • 1
  • 12

2 Answers2

4

You should call get_time_difference("1-1-2020", "1:50").

However, you will get another error:

AttributeError: 'datetime.timedelta' object has no attribute 'hour'

You can adapt get_time_difference as follows:

def get_time_difference(date, time_string):
    time_difference = datetime.now() - datetime.strptime(
        f"{date} {time_string}", "%d-%m-%Y %H:%M"
    )
    hours = time_difference.seconds // 3600
    minutes = time_difference.seconds // 60 % 60
    return f"{hours}:{minutes}"
1
from datetime import datetime


def get_time_difference(date, time_string):
    time_difference = datetime.now() - datetime.strptime(f"{date} {time_string}", "%d-%m-%Y %H:%M")
    return f"{time_difference.seconds // 3600}:{time_difference.seconds // 60 % 60}"


print(get_time_difference('1-1-2020', '1:50'))

Output

15:50

Shivam Bharadwaj
  • 1,864
  • 21
  • 23