Java - GAE 数据存储以特定格式保存日期
Java - GAE Datastore persisting Date with specific format
我有一个带有日期字段的 Google App Engine 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。没有方法可以在 Java 上覆盖它,也没有在 Pyhton 上覆盖这个 [1]。
例外情况是 Python 中有一个 class 将从数据存储中检索 "raw" 日期并显示其中的日期部分。这不会阻止 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
我有一个带有日期字段的 Google App Engine 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。没有方法可以在 Java 上覆盖它,也没有在 Pyhton 上覆盖这个 [1]。
例外情况是 Python 中有一个 class 将从数据存储中检索 "raw" 日期并显示其中的日期部分。这不会阻止 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