使用时刻的小时数之间的差异

Difference between hours using moment

我知道这是互联网上的一个热门问题。但关键是我需要准确地做一些事情,而且我对日期的处理不是很熟悉,所以我需要问这个问题。

我的问题如下,我必须根据时间戳定义某些操作。这些操作是在以下条件下执行的:

Prep - 在时间戳前约一个小时开始;

Run - 从时间戳开始;​​

Reset - 如果在时间戳后 15 分钟过去,则执行此操作;

请记住时间戳如下:

const timestamp = "2021-11-16T09:18:02+0000"

我有这样的想法:

const time = moment(timestamp).diff(moment(), "minutes")

但老实说,我不知道如何改进它。你能帮我吗?

暂时不用

这应该可以帮助您入门

const timestamp = "2021-11-16T09:18:02+0000"

const d = new Date(timestamp)

const prep = new Date(timestamp);
prep.setHours(prep.getHours()-1);// Prep - starts about an hour before timestamp;

// Run - starts right at timestamp;


const resetTime = new Date(timestamp)
// Reset - this action is taken if 15 minutes have passed after the timestamp;
resetTime.setMinutes(resetTime.getMinutes()-15)

console.log(d)
console.log(prep)
console.log(resetTime)

console.log((d.getTime()-prep.getTime())/60000)

这是我发现适合使用 momentjs 的解决方案

const timestamp = "2021-11-16T09:18:02+0000"
const reset = moment(timestamp).add(15, 'minutes').format('LT')
const current = moment(timestamp).format('LT')
const prev = moment(timestamp).subtract(1, 'hour').format('LT')

console.log("Reset:",reset,"\nCurrent",current,"\nPrev",prev)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

注销时

reset 3:03 下午 current 2:48 下午 prev 1:48 下午

有关momentjs

的更多信息