亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

墨色風雨 2023-05-11 10:20:54
如何使用 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。
查看完整描述

3 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

我能想到的最簡單的方法是將日期增加 12 小時,然后截斷時間部分。這具有四舍五入到最近日期的效果(中午之前的任何時間都會被截斷,之后的任何時間都會被截斷到第二天,然后時間被截斷)。


let d = new Date();

// add 12 hours to the date

d.setTime(d.getTime() + (12*60*60*1000));

// truncate the time

d.setHours(0,0,0,0);

console.log(d);


查看完整回答
反對 回復 2023-05-11
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

您可以檢查小時,如果它在 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());


查看完整回答
反對 回復 2023-05-11
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

//this code will round to the nearest date


const roundToNearestDay = (date) => {

  let isPastNoon = date.getHours() >= 12

  if (isPastNoon)

    //if first parameter > 23, will increment date +1

    date.setHours(24,0,0,0)

  else

    date.setHours(0,0,0,0)

  return date

}


let nearestDay = roundToNearestDay(new Date())

console.log(nearestDay)


查看完整回答
反對 回復 2023-05-11
  • 3 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號