我的web应用程序使用datetime作为时间戳,根据Django的错误消息,时间戳需要采用以下格式:YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]。
我在web应用程序上多次显示这些时间,它们以以下格式显示:12. June 2017 10:17。
现在,用户可以选择并提交显示的时区,然后由服务器进行处理。然后服务器出错,因为格式不正确。
如何将Django在web应用程序(12. Juni 2017 10:17)上打印的格式转换为Django为进一步处理所需的格式(YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ])?
编辑:当前正在尝试创建接收到的数据的datetime对象,然后将其转换为所需的格式。
parsed_timestamp = datetime.datetime.strptime(request.POST['timestamp'], "%y/%m/%d %B")这将导致以下错误:
time data '12. June 2017 10:17' does not match format '%y/%m/%d %B'发布于 2017-06-12 10:22:44
您的问题是"%y/%m/%d %B"与模式'12. June 2017 10:17'不匹配
您可以尝试使用以下方法正确解析日期:
>>> from dateutil.parser import parse
>>> parse('12. June 2017 10:17')
datetime.datetime(2017, 6, 12, 10, 17)或与:
>>> from datetime import datetime
>>> datetime.strptime('12. June 2017 10:17', '%d. %B %Y %I:%M')
datetime.datetime(2017, 6, 12, 10, 17)您可以在文档这里中从这个有用的表中计算出要使用的百分比值。
发布于 2017-06-12 10:22:48
是的,它期望格式为YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],因此有效值是:
2017-09-04 06:00
2017-09-04 06:00:00
2017-09-04 06:00:00.000000
# w/ optional TZ as timezone.
2017-09-04 06:00Z # utc
2017-09-04 06:00:00+0800
2017-09-04 06:00:00.000000-08:00这应该能起作用:
import datetime
d = datetime.datetime.strptime('12. June 2017 10:17', '%d. %B %Y %H:%M')
print(d) # or print(str(d)) if you want it as a string 产出:
2017-06-12 10:17:00它是以有效的接受格式(YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ])。
发布于 2017-06-12 10:23:32
(12. 2017年6月10日:17)为伪码:
day。month in locale full name year with century hourminute
要使用绞合时间将其转换为datetime对象,请使用:
datetime.datetime.strptime(your_input, '%d. %B %Y %H:%M')若要返回,请使用格式字符串的等效strftime。
https://stackoverflow.com/questions/44496820
复制相似问题