【问题标题】:Check if it's 'today' in another timezone检查它是否是另一个时区的“今天”
【发布时间】:2021-03-24 13:42:59
【问题描述】:

给定任何 UNIX 时间戳,无论是几分钟前还是几个小时前创建的,我将如何检查该 UNIX 是否落在 x 时区的今天日期。 例如,我从数据库中获取了一个 UNIX 时间戳,我将如何检查它是否是今天的 EST 时间?

我尝试过使用 UNIX 更改时区,但我不知道如何仅使用 Date 对象,但我认为有一种比将 UNIX 更改为 Date 对象然后相互检查它们然后更改为更简单的方法又是 UNIX。

从 UNIX 时间戳中删除时间差异,然后检查它是否是今天的日期,虽然我认为这会起作用,但我还没有弄清楚如何写出逻辑。

非常感谢任何帮助或解释! - 蒂姆吉姆

【问题讨论】:

  • 检查我提供的 UNIX 是否是今天 x 时区的日期(这是对删除评论的用户的回答)
  • 什么意思?无论您身在何处,总是“今天”?
  • 我理解,但考虑到任何 UNIX 值,可能是当前的一个或 2 周前的一个,是 x 时区今天的 UNIX。

标签: javascript unix unix-timestamp


【解决方案1】:

获取“今天”开始和结束的 unix 时间戳,然后检查提供的时间戳是否介于两者之间。

let todayStart = new Date()
todayStart.setHours(0,0,0,0)

const todayEnd = new Date()
todayEnd.setHours(0,0,0,0)
todayEnd.setDate(todayEnd.getDate()+1)

const todayStartUnix = Math.floor(todayStart / 1000)
const todayEndUnix = Math.floor(todayEnd / 1000)

let unixTest = 12345678
console.log(unixTest > todayStartUnix && unixTest < todayEndUnix)

unixTest = Date.now() / 1000
console.log(unixTest > todayStartUnix && unixTest < todayEndUnix)

【讨论】:

    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2020-03-05
    • 2020-02-24
    • 2012-07-29
    • 1970-01-01
    相关资源
    最近更新 更多