16

我正在编写一个应用程序,并且我使用日期时间选择器来允许用户选择日期和时间。在 javascript 中进行一些格式化后,我留下了这样的 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 正在寻找什么(英文)?

4

3 回答 3

47

正如错误消息所说,它期望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
于 2012-09-04T02:52:28.583 回答
3

聊了一圈,我发现没有 AM/PM 输入。我只需要检查我的 dateTimePicker 是否返回 AM 或 PM 后缀,然后调用 time.split(":"); 要拆分小时和分钟,请将小时数从字符串转换为 int,然后添加 12 以将时间转换为 24 小时时间而不是 12 小时时间。他们可能是一种更简单的方法,但这对我有用。

例如:

2012-09-04 下午 06:00

需要是

2012-09-04 18:00

于 2012-09-04T20:50:45.780 回答
1

我用了这个'2012-09-04 06:00:00.000000-08:00',效果很好

于 2019-03-14T07:54:50.647 回答