求一个JS对时间运算的函数,最好用时间戳

参数为当前时间和n,要求返回当前时间减去n小时后的时间;时间格式{2015-07-1700:00:00},多谢大神了... 参数为当前时间和n,要求返回当前时间减去n小时后的时间;时间格式{2015-07-17 00:00:00},多谢大神了 展开
 我来答
百度网友b30ab76
2015-07-17 · TA获得超过1570个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:486万
展开全部
/**
* 获取指定时间戳n小时之前的时间
* @current {Timestamp} 时间戳,精确到毫秒
* @n {Number} 要减去的小时
* @Return {String} 格式化后的时间
*/
var parser = function (current, n) {
if (arguments.length < 2)
throw new Error("缺少参数!");

if (current.constructor !== Number || n.constructor !== Number)
throw new Error("参数类型错误");

// 计算n小时之前的时间戳
n = current - n * 3600 * 1000;

// 如果计算出的时间小于0,则返回传入的时间
if (current < 0)
n = current;

// 获取年月日时间
n = new Date(n);
n = {
year: n.getFullYear(),
month: n.getMonth() + 1,
day: n.getDate(),
hour: n.getHours(),
minute: n.getMinutes(),
second: n.getSeconds()
};

// 格式化时间
var fill = function (num) {
return (num < 10 ? '0' + num : num);
};
n = '{' + n.year + '-' + fill(n.month) + '-' + fill(n.day) + ' ' + fill(n.hour) + ':' + fill(n.minute) + ':' + fill(n.second) + '}';

return n;
}

获取当前时间戳 var current = (new Date()).getTime()
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式