从当前日期中添加/减去分钟数

Add/subtract minutes from current date

本文关键字:分钟 当前日期 添加      更新时间:2023-09-26

我的目标是将当前日期/时间偏移给定的分钟数(负或正)。

我在网上看了很多帖子,但他们都使用getMinutes()-minutes类型的解决方案,这将不会处理负分钟或午夜前后的日期更改。

如果我指定negativeOffsetpositiveOffset,我将得到Uncaught TypeError: undefined is not a function。请建议。

function currentDateTime(negativeOffset, positiveOffset) {
    var newDate = new Date();
    newDate = (negativeOffset) ? newDate.getTime() - negativeOffset * 60000 : newDate;
    newDate = (positiveOffset) ? newDate.getTime() + positiveOffset * 60000 : newDate;
    var currentDate = ('0' + (newDate.getMonth()+1)).slice(-2) + '/' + ('0' + newDate.getDate()).slice(-2) + '/' + newDate.getFullYear();
    var currentHour = newDate.getHours() % 12;
    currentHour = currentHour ? currentHour : 12;
    currentHour = ('0' + (currentHour)).slice(-2);
    var currentMinute = ('0' + newDate.getMinutes()).slice(-2)
    var currentAmPm = (newDate.getHours() >= 12) ? 'pm' : 'am';
    var currentTime = currentHour + ':' + currentMinute + ' ' + currentAmPm;
    return[currentDate, currentTime];
}
newDate = (negativeOffset) ? newDate.getTime() - negativeOffset * 60000 : newDate;
newDate = (positiveOffset) ? newDate.getTime() + positiveOffset * 60000 : newDate;

之后你的newDate变量变成整数,你应该使用

newDate = (negativeOffset) ? new Date(newDate.getTime() - negativeOffset * 60000) : newDate;
newDate = (positiveOffset) ? new Date(newDate.getTime() + positiveOffset * 60000) : newDate;

将其保留为Date对象