我有一个带有日期字段的 Google 应用引擎 JDO 数据存储实体,它看起来如下所示。
@PersistenceCapable
public class Test {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
private Date dateTime;
}
我遇到的问题是它默认为日期时间 (2014-08-30 00:00:00.000Z) 格式,这不是我想要存储日期的方式。我想定义特定格式“yyyy-MM-dd”。
看起来像there's support for python to do this .但是,我找不到类似的 Java 文档。
如何更改数据存储区实体定义以支持我想要完成的目标?
最佳答案
Datastore 将始终将日期存储为 UTC 以及时间和包含的 tzinfo=None。如此处 [1] 所述,在 Java 和 Pyhton 上都没有方法可以覆盖它。
异常(exception)情况是,在 Python 中有一个类将从 Datastore 中检索“原始”日期并显示其中的日期部分。这不会阻止 Datastore 以完整格式存储日期。
简而言之,您所能做的就是忽略时间数据,并使用适当的函数 [2] 操作从 Datastore 检索的数据以仅获取日期。
[1] https://cloud.google.com/appengine/docs/python/datastore/typesandpropertyclasses#datetime
[2] http://docs.oracle.com/javase/7/docs/api/java/util/Date.html
关于Java - GAE 数据存储以特定格式保存日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28690074/