2013-12-17 3 views
1

В моем приложении я разработал планировщик Spring, который должен выбрать записи с полем «abcDate» с меткой времени завтрашнего дня как значение.Сравнение двух временных дат

Я вычислил TIMESTAMP в моей Java-приложения, как,

Calendar cal = Calendar.getInstance(); 
      cal.add(Calendar.DAY_OF_YEAR, 1); 
      long abcTimeStamp = DateUtils.convertDateTimeToUTCzone(cal.getTimeInMillis()); 

значение этого: 1387348986 т) 12/18/13 @ 6:43:06 утра UTC

В БД у меня есть запись с отметкой времени 1387365854, т.е.) 12/18/13 @ 11:24:14 am UTC.

Я использую уменьшающий просмотр карты компакт-диска, и передаю значение отметки времени как ключ к виду.

Но так как время отличается от обеих времен, я не могу извлечь эту запись. Есть ли способ сопоставления только дней в метке времени и фильтрации самих записей?

ответ

1

CouchDB по startkey и endkey супер полезно здесь.

Похоже, у вас уже есть представление, но только ради полноты давайте предположим, что это выглядит следующим образом:

{ 
    "_id": "_design/mydesign", 
    "_rev": "1-088646f81629ce559b6d9772c6116113", 
    "views": { 
     "by_timestamp": { 
      "map": "function(doc) { emit(doc.timestamp, doc); }" 
     } 
    } 
} 

И у вас есть база данных с именем «метки времени» работает локально несколько документов, как показано:

$ curl localhost:5984/timestamps/_design/mydesign/_view/by_timestamp 

Чтобы получить ряд документов, добавьте startkey и endkey параметры запроса:

$ curl localhost:5984/timestamps/_design/mydesign/_view/by_timestamp\?startkey\=1387348986\&endkey\=1387365854 

Теперь для получения этих параметров вам понадобится отметка времени начала завтрашнего дня и конца завтрашнего дня. This answer охватывает, что с API java.util.Calendar и Joda-Time.

Подробнее об обнаружении многих, посмотрите CouchDB's awesome new docs.

0

Проверить Moment.js. Это библиотека дат javascript для синтаксического анализа, проверки, управления и форматирования дат.

+0

Мне нужно использовать couch db map уменьшить view js, чтобы сравнить их. Поэтому я не могу использовать эту библиотеку. – Poppy

0

Вы можете использовать Joda time API. Он имеет больше возможностей.

Из календаря вы можете получить дату с помощью метода getTime(). Эта дата, которую вы можете использовать для объекта из вышеуказанного API. Или используйте милли секунд: концепция

... 
DateTime dt = new DateTime(millis); 
int day = dt.getDayOfYear(); 
... 
Смежные вопросы