【问题标题】:Whats the correct format for django dateTime?django dateTime 的正确格式是什么?
【发布时间】:2012-09-03 23:44:33
【问题描述】:

我正在编写一个应用程序,并且我正在使用日期时间选择器来允许用户选择日期和时间。在 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 正在寻找什么(英文)?

【问题讨论】:

  • 您有Django form 处理您的表单吗?如果是这样,让我们​​看看它是什么样子的。
  • 没有 django 形式,只需使用查询字符串,解析它,并将结果保存到数据库。

标签: django datetime


【解决方案1】:

正如错误消息所说,它需要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

【讨论】:

  • 究竟有没有区分上午或下午?
  • @eastbeast 恐怕不是DateTimeField
  • 为了公平对待@eastbeast,错误消息没有提供完整的时区格式信息与规范...]][TZ]。它没有指定“UTC”和“PST”是[TZ] 的无效值,而“Z”、“-0800”和“-08:00”是有效值。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    例如:

    2012-09-04 下午 06:00

    需要

    2012-09-04 18:00

    【讨论】:

      猜你喜欢
      • 2019-09-13
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      相关资源
      最近更新 更多