首页 > 解决方案 > 如何更新时间取决于javascript中的分钟

问题描述

例如,有一个如下所示的时间值。

const currentDate = '2019-10-21 21:33'

我想在这个日期添加一些特定的分钟。

const addMinute = '70'

结果,我想得到,

const totalMinute = '2019-10-21 22:43'

我怎样才能用简单的总和得到这个值?或使用“时刻模块”非常感谢您阅读它。

标签: javascript

解决方案


这是一个超简单的示例,说明如何通过简单的总和来做到这一点。

注意:如果需要,这不会修改日期部分,但您可以使用类似的逻辑来完成。

const currentDate = '2019-10-21 21:33'
const addMinute = '70'
const totalMinute = '2019-10-21 22:43'

const addMin = (datetime, min) => {
  min = parseInt(min);
  // Parse the datetime string
  const date = datetime.split(' ')[0]
  const time = datetime.split(' ')[1]
  // Parse the time string and cast each part to an integer
  const hours = parseInt(time.split(':')[0])
  const minutes = parseInt(time.split(':')[1])
  // Figure out how many hours and minutes are to be added
  const hoursToAdd = Math.floor(min / 60);
  const minsToAdd = min % 60;
  // Return the new datetime string
  return date + ' ' + (hours + hoursToAdd) + ':' + (minutes + minsToAdd);
}

console.log(addMin(currentDate, addMinute));

否则,您可以使用 JS Date 对象:

const currentDate = '2019-10-21 21:33'
const addMinute = '70'
const totalMinute = '2019-10-21 22:43'

const addMin = (datetime, min) => {
  min = parseInt(min);
  const date = new Date(datetime);
  const newDate = new Date(datetime);
  const minsToAdd = date.getMinutes() + min
  
  newDate.setMinutes(minsToAdd);
  
  return newDate.toISOString().substr(0,10) + ' ' + newDate.toTimeString().substr(0,5);
}

console.log(addMin(currentDate, addMinute));


推荐阅读