gpt4 book ai didi

python - 在django中更改日期格式

转载 作者:行者123 更新时间:2023-11-28 22:03:17 26 4
gpt4 key购买 nike

我正在尝试使用 this eventCalendar在 Django 中,它以这种格式保存和显示日期:

2012-02-27T13:15:00.000+10:00

但是当我在数据库中保存事件时,它们以这种格式保存:

Mon Feb 27 2012 13:15:00 GMT+0330 (Iraq Standard Time)

所以数据库中的事件不会因为这种格式出现在日历上。我怎样才能转换这种格式?我试过这样的事情:

datetime.strptime(mydatetime, "%Y-%m-%dT%H:%M:%S+0000")

但我反复收到这样的错误:

'module' object has no attribute 'strptime'

编辑:日期为字符串格式

最佳答案

strptime 用于将字符串解析为日期时间对象。格式字符串指示如何解析字符串,不是您希望日期时间在稍后打印为字符串时采用的格式。因此,首先您需要使格式字符串与输入字符串的日期格式相匹配。

strptime 获得日期时间后,您可以将 strftime 与当前格式字符串一起使用,以将其显示在您想要的显示中。

不过,您的导入似乎有问题。该错误似乎表明您已完成:

import datetime
datetime.strptime(...)

这是不正确的。 strptimestrftimedatetime.datetime 的方法,因此您需要像这样修改您的导入:

from datetime import datetime

或者,修改对 strptime 的调用,例如:

datetime.datetime.strptime(...)

更新

您开始使用类似 Mon Feb 27 2012 13:15:00 GMT+0330(伊拉克标准时间) 的字符串。 Python 非常棒,但它不是无所不知的;如果您想将其转换为 datetime,您必须告诉它如何。这就是您传递给 strptime 的格式字符串的用途。您需要创建一个格式字符串来表示数据库中表示的当前字符串日期和时间(留给读者练习)。反过来想,按照您想要实际表示这样的 datetime 的思路,您会怎么做。

这将为您提供一个datetime。从那里,您现在可以使用 strftimedatetime 格式化为字符串,这次传递您想要的实际格式。

所以流程是:

  1. 从数据库中创建一个表示您的当前字符串的格式字符串
  2. 将该格式字符串用作 strptime 的参数以获取 datetime
  3. 创建一个格式字符串,表示您希望日期采用的格式(已完成)
  4. 将该格式字符串用作 strftime 的参数,将第 2 步中的 datetime 转换为您想要的字符串。

关于python - 在django中更改日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9469943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com