如何获取两个 Unix 时间戳之间的行

发布于 2025-01-11 22:15:37 字数 358 浏览 1 评论 0原文

在我的 SQLite DB 中,我有一个 created_date 作为毫秒时间戳,例如 1646384581034

因此,如果存在这种格式的值 2022-03-03 00:00:002022-03-03T00:00:00,我如何获取例如之间的行该日期和当前日期?

WHERE
  created_date BETWEEN 
    strftime('%s', '2022-03-03 00:00:00') * 1000
    AND
    Current_timstamp

这是我的要求,语法可能不正确。

In my SQLite DB I have a created_date as millisecond timestamps, e.g. 1646384581034.

So if there are values in this format 2022-03-03 00:00:00 or 2022-03-03T00:00:00, how can I fetch rows between e.g. this date and the current date?

WHERE
  created_date BETWEEN 
    strftime('%s', '2022-03-03 00:00:00') * 1000
    AND
    Current_timstamp

This is my requirement, the syntax may be incorrect.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

纵情客 2025-01-18 22:15:37

您可以将 2022-03-03 00:00:002022-03-03T00:00:00 等日期时间转换为 unix 纪元时间戳,如以下值中的值列 created_date 与函数 strftime()

例如:

WHERE created_date > strftime('%s', '2022-03-03 00:00:00') * 1000

或:

WHERE created_date BETWEEN 
        strftime('%s', '2022-03-03 00:00:00') * 1000
        AND
        strftime('%s', 'now') * 1000

created_date 包含毫秒,这就是为什么需要乘以 1000。

You can convert a datetime like 2022-03-03 00:00:00 or 2022-03-03T00:00:00 to a unix epoch timestamp like the values in the column created_date with the function strftime().

For example something like:

WHERE created_date > strftime('%s', '2022-03-03 00:00:00') * 1000

or:

WHERE created_date BETWEEN 
        strftime('%s', '2022-03-03 00:00:00') * 1000
        AND
        strftime('%s', 'now') * 1000

The column created_date contains miliseconds and this is why the multiplication by 1000 is needed.

我纯我任性 2025-01-18 22:15:37

如果日期是时间戳,您需要这样做(以下两个日期是示例):

SELECT * FROM myDB WHERE created_date BETWEEN '2014-10-09 00:00:00' AND '2014-10-10 23:59:59'

或者您可以这样做,我相信:

SELECT * FROM myDB WHERE DATE(created_date) BETWEEN '2014-10-09' AND '2014-10-10'

或者,因为它是一个文本字段:

SELECT * FROM myDB WHERE DATE_FORMAT(created_date,'%Y-%m-%d') BETWEEN '2014-10-09' AND '2014-10-10'

IF date is a timestamp, you'll need to do like(the following two dates are examples):

SELECT * FROM myDB WHERE created_date BETWEEN '2014-10-09 00:00:00' AND '2014-10-10 23:59:59'

Or you can do, I believe:

SELECT * FROM myDB WHERE DATE(created_date) BETWEEN '2014-10-09' AND '2014-10-10'

Or, since it is a text field:

SELECT * FROM myDB WHERE DATE_FORMAT(created_date,'%Y-%m-%d') BETWEEN '2014-10-09' AND '2014-10-10'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文