Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从当前日期和时间中减去5分钟_Javascript - Fatal编程技术网

Javascript 从当前日期和时间中减去5分钟

Javascript 从当前日期和时间中减去5分钟,javascript,Javascript,我在从当前日期中减去时间时遇到问题。我的代码如下所示: var d = new Date(), year = d.getUTCFullYear(), month = ('0'+(d.getUTCMonth()+1)).slice(-2), day = ('0'+d.getUTCDate()).slice(-2), hour = ('0'+d.getUTCHours()).slice(-2), minute = ('0'+d.getUTCMinutes()).slice(-2), second =

我在从当前日期中减去时间时遇到问题。我的代码如下所示:

var d = new Date(),
year = d.getUTCFullYear(),
month = ('0'+(d.getUTCMonth()+1)).slice(-2),
day = ('0'+d.getUTCDate()).slice(-2),
hour = ('0'+d.getUTCHours()).slice(-2),
minute = ('0'+d.getUTCMinutes()).slice(-2),
second = ('0'+d.getUTCSeconds()).slice(-2);

var startDate = year+'/'+month+'/'+day+'-'+hour+':'+minute+':'+second;
console.log(startDate);

你可以简单地用

minute=('0'+d.getUTCMinutes()).slice(-2)-5

var d=new Date(),
year=d.getUTCFullYear(),
月份=('0'+(d.getUTCMonth()+1)).slice(-2),
day=('0'+d.getUTCDate()).slice(-2),
小时=('0'+d.getUTCHours()).slice(-2),
分钟=('0'+d.getUTCMinutes()).slice(-2),
第二个=('0'+d.getUTCSeconds()).slice(-2);
如果(分钟>=5)
分钟=分钟-5;
否则{
分钟=(分钟数)+60-5;
小时=小时-1;
}
var startDate=年+'/'+月+'/'+日+'-'+小时+':'+分钟+':'+秒;

警报(起始日期)如果您准备好使用新的日期操作js,称为矩js

您只需在一个函数中完成以下操作:

moment().subtract(5, 'minutes');

您可以这样使用

var original=新日期();
var减去5分钟=新日期();
警告(“之前:+原件);
减去5分钟的设置时间(original.getTime()-5*60*1000);

警报(“在:”+减去5分钟后)获取日期变量的毫秒数,减去5分钟并从中创建一个新的日期对象:

var d = new Date()
// d = Mon Feb 29 2016 08:00:09 GMT+0100 (W. Europe Standard Time)
var milliseconds = Date.parse(d)
// 1456729209000
milliseconds = milliseconds - (5 * 60 * 1000)
// - 5 minutes
d = new Date(milliseconds)
// d = Mon Feb 29 2016 07:55:04 GMT+0100 (W. Europe Standard Time)

你可以像下面这样简单地使用

var fiveMinuteAgo = new Date( Date.now() - 1000 * (60 * 5) )

问题是这是当前时间,我希望从此时间分钟=('0'+d.getUTCMinutes()).slice(-2)-(5)中减去5分钟,提示:尝试Date.getMinutes()和.setMinutes()方法在提取所有片段之前调整时间。这可能会导致负数。(同样,这需要在切片之前完成。)@Munawir,如果按照NNNN建议的
getMinutes/setminutes
方法,我怀疑您是否需要if条件,这也可能导致负分钟数。为一个只需要3个命令的任务添加14kb的代码似乎有点过分。这只是一个建议。适用于复杂的数据驱动应用程序。