我很惊讶Javascript的Date对象没有实现任何类型的添加功能.
我只想要一个可以做到这一点的函数:
var now = Date.now();
var fourHoursLater = now.addHours(4);
function Date.prototype.addHours(h) {
// how do I implement this?
}
Run Code Online (Sandbox Code Playgroud)
我只想在一个方向上指点一些.
我需要进行字符串解析吗?
我可以使用setTime吗?
毫秒怎么样?
像这样:
new Date(milliseconds + 4*3600*1000 /*4 hrs in ms*/)?
Run Code Online (Sandbox Code Playgroud)
这看起来真的很乱 - 它甚至可以工作吗?
我需要从2000年以来每天每小时从日期数据字符串创建日期对象.
字符串看起来像这样每小时,Month/Day/Year Hour格式......
"04/02/2000 01", "04/02/2000 02", "04/02/2000 03" ...all the way to... "04/02/2000 24"
Run Code Online (Sandbox Code Playgroud)
现在,我有以下代码,除了夏令时的日子以外工作正常...
// Split At Space
var splitDate = "04/02/2000 24".split(/[ ]+/);
var hour = splitDate[1];
var day = splitDate[0];
// Split At Slashes
var dayArray = day.split("/");
if (hour === "24") {
// Months are zero-based, so subtract 1 from the month
date = new Date(Date.UTC( dayArray[2], parseInt(dayArray[0] - 1), dayArray[1], 0, 0, 0 ));
date.setDate(date.getDate() + 1);
} else {
// Months …Run Code Online (Sandbox Code Playgroud)