-1

我一直在做噩梦,试图让我的日期以合适的格式用于所有这些事情。

首先,我开始使用datetime.datetime.now()which 在 Python 中效果很好,并且应该允许我在从数据库中选择时在 sqlite 中比较它们。

然而,谷歌图表坚持我的日期和日期时间对象是表单中的 JavaScript 对象,"Date(YYYY,MM,DD,hh,mm,ss)"并且似乎不接受任何其他格式的日期。

所以,我开始以后一种格式将日期放在我的数据库中,只是为了意识到我不能选择特定的日期,因为符号不兼容并且我不能在 Python 中处理它们。

有人请帮忙,有什么方法可以让我的日期在所有 3 种产品中都兼容?

4

2 回答 2

0

首先,看看这个答案,看看如何将你datetime的 s 存储在数据库中。

接下来,当您从数据库中检索它时,您将获得一个普通datetime对象。您只需根据您需要的任何格式(例如使用d.strftime('Date(%Y,%m,%d,%H,%M,%S)'))对其进行格式化。

>>> n = dt.datetime.now()
>>> n.strftime('Date(%Y,%m,%d,%H,%M,%S)')
  > 'Date(2013,06,12,03,42,52)'
于 2013-06-11T23:40:32.943 回答
0

在与一位更精通存储时间数据以供外部消费的同事讨论该问题后,我得出结论,使用 ISO 格式字符串(标准化)将日期存储在数据库中是可行的方法。

一般的要点是,数据存储应该与消费解耦,Google Chart不支持这种格式的事实不应该影响数据在服务器上的存储和操作方式。如果数据以这种形式存储,它将限制未来的消费Google Chart或支持它的其他方式,这对于可扩展性和对存储的数据进行面向未来的验证是一个禁忌。

结果是正常存储日期,作为一个ISO 字符串,可以在 python 或Java 中解析为 atime或a ,但更重要的是,根据其中的要求以客户端操作的标准格式返回。datetimeDate

这意味着,在我的情况下,日期按原样返回给客户端,并使用 JavaScript(或任何其他方式,取决于数据的使用方式)解析为可用格式。

于 2013-06-20T14:10:56.373 回答