【问题标题】:How can I correctly convert this?我怎样才能正确转换这个?
【发布时间】:2016-06-15 10:44:25
【问题描述】:

我尝试了几次转换这种日期格式

Wed, 02 April 2015 15:50:53 SAST 

转成这种格式

YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]

但到目前为止还没有运气。 有没有更好的方法,我可能错过了?

这是我的尝试:

date = Wed, 02 April 2015 15:50:53 SAST
splitter = date.split(" ")
joiner = " ".join(splitter[1:len(splitter)-1])
date = datetime.datetime.strptime(joiner,"%d %b %Y %H:%M:%S")
date = datetime.datetime.strftime(date,"%A, %b %d %Y %H:%M:%S %z")

当我将它保存到数据库时,我收到了这个错误:

[Wed, 02 April 2015 15:50:53 SAST for that value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]

【问题讨论】:

  • 表明您正在尝试的代码在哪里?
  • @vishes_shell 这是问题中的代码和错误
  • 请发布您的模型。该字段是否为datetimefield
  • @ilse2005 date = models.DateTimeField(default=timezone.now)
  • 编辑了我的答案。您正在尝试将 str 保存为 date

标签: django


【解决方案1】:

看看strptime (str --> time) 和strftime (date --> str)。

编辑:

您正在尝试将字符串保存到DateTimeField。只需删除字符串转换 (strftime)。

【讨论】:

  • 这是我收到的错误 [2015 年 4 月 2 日星期三 15:50:53 SAST,因为该值的格式无效。它必须是 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 格式。"]
  • 在 joiner 之后,当我打印 joiner 时,我有这个 2015 年 4 月 2 日 15:50:53 SAST,我希望它采用以下格式:YYYY-MM-DD HH:MM[:ss [.uuuuuu]][TZ]
  • 为什么?如果您想将其保存为 DateTimeField,只需添加一个 datetime 实例 --> 删除 strptime 行。
  • 它给了我这个错误:需要一个整数(得到类型 str)
  • 这没有意义。请编辑您的问题并发布所有相关代码(包括您的模型)
猜你喜欢
  • 2021-09-24
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
  • 2022-11-29
  • 1970-01-01
相关资源
最近更新 更多