1

Google App Engine のエンティティに datetime プロパティがあります。新しいレコードを挿入するとき、このプロパティを次のように設定します。

Date date = new Date();
newEntity.setProperty("dateTime", date);

datetime プロパティを使用して、今日保存されたレコードを照会するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

2

プロパティでフィルタリングして、エンティティに対してクエリを実行しますdateTime

まず、今日の開始時刻を次のように計算します。

Calendar c = Calendar.getInstance(); // You might wanna get instance based on user's time zone
c.set( Calendar.HOUR_OF_DAY, 0 );
c.set( Calendar.MINUTE, 0 );
c.set( Calendar.SECOND, 0 );
c.set( Calendar.MILLISECOND, 0 );
Date dayStart = c.getTime();

dateTime >= dayStartそして、何らかの形で次のようなエンティティをフィルタリングします。

Query q = new Query( "YourEntityName" );
q.setFilter( new FilterPredicate( "dateTime", FilterOperator.GREATER_THAN_OR_EQUAL, dayStart ) );

// And execute the query:
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
for ( final Entity e : ds.prepare( q ).asIterable() ) {
    // Do something with the entity
}
于 2013-01-05T15:07:07.617 に答える