【问题标题】:Date Time in Python [duplicate]Python中的日期时间[重复]
【发布时间】:2021-12-01 22:57:23
【问题描述】:

我需要在我的测试中声明日期时间,它们的格式不同。数据库中的日期时间在(2021, 5, 10, 0, 0) 中,JSON 在'2021-05-10T00:00:00' 中返回日期时间。

我正在努力研究如何转换其中一种格式以使其与另一种格式匹配,然后我可以编写断言。任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 您不能使用格式选项将一种格式转换为另一种格式吗?然后您可以使用比较选项检查两者。您可以使用 datetime 选项获取 y、m、d、hh、mm 值。
  • 试试这个x = str(datetime.datetime(2021, 5, 10, 0, 0))
  • 您可以使用strptime将JSON字符串解析成日期时间,并与数据库中的日期时间进行比较,见this answer
  • 我会使用 strptime。如果 JSON 为您提供秒数(00 除外)并且数据库中的日期时间未提供,您需要小心。反之亦然。

标签: python datetime-format


【解决方案1】:
d = datetime.datetime.strptime('2021-05-10T00:00:00', '%Y-%m-%dT%H:%M:%S')

您可以这样做将您的日期时间从 JSON 转换为日期时间对象,然后您可以与另一个进行比较。

【讨论】:

  • 我认为你可以在 json 端使用datetime.fromisoformat('2021-05-10T00:00:00')
  • @user29496 您可以使用帖子旁边的复选标记接受此作为答案
【解决方案2】:

在下面尝试过,它奏效了。两者都以相同的格式返回时间

y = str(datetime.datetime(2021, 5, 10, 0, 0))
print(y)

a = "2021-05-10T00:00:00"
print("aa", datetime.datetime.strptime(a, '%Y-%m-%dT%H:%M:%S'))

【讨论】:

    猜你喜欢
    • 2019-05-28
    • 1970-01-01
    • 2017-12-21
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2016-06-08
    相关资源
    最近更新 更多