java - 比较两个时间戳天数

标签 java javascript couchdb

在我的应用程序中,我设计了一个 Spring 调度程序,它应该选择具有“abcDate”字段并以明天的时间戳作为值的记录。

我在我的java应用程序中计算了时间戳,

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

该值是:1387348986,即)12/18/13 @ 6:43:06am UTC

在数据库中,我有一条记录,时间戳为 1387365854,即)12/18/13 @ 11:24:14am UTC。

我正在使用 couch DB 映射缩减 View ,并将时间戳值作为 View 的键传递。

但是由于两个时间戳的时间不同,我无法获取该记录。有没有办法只匹配时间戳中的天数并过滤 View 本身的记录?

最佳答案

CouchDB 的 startkeyendkey 概念在这里非常有用。

听起来您已经有了一个 View ,但为了完整起见,我们假设它看起来像这样:

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

您已经有一个名为“timestamps”的数据库在本地运行,其中包含一些文档,如下所示:

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

要获取一系列文档,请添加 startkeyendkey 查询参数:

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

现在要获取这些参数,您需要明天开始和明天结束的时间戳。 This answer使用 java.util.Calendar API 和 Joda-Time 涵盖了这一点。

有关查找许多内容的更多信息,请查看 CouchDB 的精彩 new docs .

关于java - 比较两个时间戳天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20634077/

相关文章:

java - 在 Activity 中显示和隐藏 SettingsFragment

java - 如何保存从 http 响应发送的文件而不包含 header

java - 在 Android 应用程序中使用 Google map 路线

authentication - PouchDB 身份验证 : Create new CouchDB users

java - 在网站上运行java类

javascript - JS 中 Firebase 集成的“数据库未定义”问题

javascript - 将整个网站放在主登录页面的 iframe 中有什么缺点?

javascript - iframe - 奇怪的 src - 数据 :image/png - how it gets parsed

node.js - 使用 CouchDB 插入非常慢?

windows-10 - 父子连接时系统卡住