我怎样才能正确转换这个?
Posted
技术标签:
【中文标题】我怎样才能正确转换这个?【英文标题】: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
【参考方案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)
这没有意义。请编辑您的问题并发布所有相关代码(包括您的模型)以上是关于我怎样才能正确转换这个?的主要内容,如果未能解决你的问题,请参考以下文章