2012-09-03 92 views
6

林正在写一个应用程序,并即时使用日期时间选择器,以允许用户选择日期和时间。在JavaScript的一些格式后,即时通讯留下了这样的日期时间:什么是Django dateTime的正确格式?

2012-09-04 06:00 PM 

和Django的罚球和错误说:

[u"'2012-09-04 06:00 PM' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."] 

香港专业教育学院还试图

2012-09-04 06:00PM 
2012-09-04 06:00 P.M. 
2012-09-04 06:00P.M. 

,但没有运气。任何人都可以看到我在这里做什么?或者知道django正在寻找什么(用英语)?

+0

你有一个[Django的形式] (https://docs.djangoproject.com/en/1.4/topics/forms/)处理你的表单?如果是这样,让我们​​看看它是什么样子。 – Chris

+0

没有django表单,只需使用查询字符串,解析它并将结果保存到数据库。 – itcropper

回答

22

正如错误味精说,它预计YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],从而以下是有效值:

2012-09-04 06:00 
2012-09-04 06:00:00 
2012-09-04 06:00:00.000000 

# w/ optional TZ as timezone. 
2012-09-04 06:00Z # utc 
2012-09-04 06:00:00+0800 
2012-09-04 06:00:00.000000-08:00 
+0

无论如何区分上午或下午? – itcropper

+0

@eastbeast恐怕不是'DateTimeField' – okm

+2

为了公平对待@eastbeast,错误消息没有提供完整的时区格式化信息[]] [TZ]'。它没有指定“UTC”和“PST”是“[TZ]”的无效值,而“Z”,“-0800”和“-08:00”是有效值。 – hobs

1

周围交谈后,我想通了,是没有AM/PM输入。我不得不检查我的dateTimePicker是否返回AM或PM后缀,然后调用time.split(“:”);分解小时和分钟,将小时转换为字符串中的int,然后将12加到它以将时间转换为24小时时间而不是12小时时间。他们可能更容易做到这一点,但那是什么对我有用。

例如:

2012年9月4日06:00下午

有待

2012年9月4日18:00

相关问题