【问题标题】:Round datetime to the last 10 minutes JavaScript将日期时间舍入到最后 10 分钟 JavaScript
【发布时间】:2019-01-03 13:56:05
【问题描述】:

我的应用程序需要当前日期时间。但我需要将其四舍五入到最接近的 10 分钟。我用 Math.round 完成了这个。问题是我需要它四舍五入到最后 10 分钟。不至于下一个。因为我还没有那些数据。

例如:

16:33 = 16:30 || 16:38 = 16:30 || 16:41 = 16:40

我该怎么做?

const coeff = 1000 * 60 * 10;
const date = new Date();  //or use any other date
let roundDate = new Date(Math.round(date.getTime() / coeff) * coeff);

【问题讨论】:

标签: javascript date time rounding


【解决方案1】:

使用 Math.floor 但将值除以 10,然后乘以 10。

例子:

var x = 11;
console.log(Math.floor(x / 10) * 10);

日期示例:

let date = new Date();
console.log(date);

let min = date.getMinutes();
date.setMinutes(Math.floor(min / 10) * 10);
console.log(date);

【讨论】:

  • 谢谢!这就是我需要的:) 我会将其标记为答案
  • 不用担心@Trisha
【解决方案2】:

你可以使用Math.floor():

const coeff = 1000 * 60 * 10;
const date = new Date("2019-01-03T13:18:05.641Z");

let floorDate = new Date(Math.floor(date.getTime() / coeff) * coeff);

console.log(date);
console.log(floorDate);

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 2022-01-02
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多