如何使用 JavaScript 日期对象舍入到最近的日期

如何使用 JavaScript 日期对象舍入到最近的日期?

我有2020-10-14T18:10:48.960Z并且我想要一个函数,它返回2020-10-15T05:00:00.000Z我的时区 CST 中最接近的日期。或者,如果我给它,2020-10-14T16:10:48.960Z我希望它返回2020-10-14T05:00:00.000Z


墨色风雨
浏览 129回答 3
3回答

一只甜甜圈

我能想到的最简单的方法是将日期增加 12 小时,然后截断时间部分。这具有四舍五入到最近日期的效果(中午之前的任何时间都会被截断,之后的任何时间都会被截断到第二天,然后时间被截断)。let d = new Date();// add 12 hours to the dated.setTime(d.getTime() + (12*60*60*1000));// truncate the timed.setHours(0,0,0,0);console.log(d);

炎炎设计

您可以检查小时,如果它在 12 点之前,请将时间设置为 00:00:00。如果是 12 点或之后,将时间设置为 24:00:00,例如let d = new Date();d.setHours(d.getHours() < 12? 0 : 24, 0,0,0);console.log(d.toISOString() + '\n' + d.toString());

饮歌长啸

//this code will round to the nearest dateconst roundToNearestDay = (date) => {&nbsp; let isPastNoon = date.getHours() >= 12&nbsp; if (isPastNoon)&nbsp; &nbsp; //if first parameter > 23, will increment date +1&nbsp; &nbsp; date.setHours(24,0,0,0)&nbsp; else&nbsp; &nbsp; date.setHours(0,0,0,0)&nbsp; return date}let nearestDay = roundToNearestDay(new Date())console.log(nearestDay)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript