计算 Python 中的时差时出错

Error calculating time difference in Python

快速提问。有人知道为什么我在使用此代码时遇到 'Invalid Syntax' 错误吗?谢谢大家

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)

你应该打电话给get_time_difference("1-1-2020", "1:50")

但是,你会得到另一个错误:

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

您可以按如下方式调整get_time_difference

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}"
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