【发布时间】:2015-01-18 22:04:03
【问题描述】:
我正在尝试编辑 javascript 日期对象从系统时钟中检索日期的方式。我正在测试一个 Javascript 应用程序,这不是用于生产的更改,严格用于测试目的。
我想传递一个带有年、月和日的参数,并让日期对象检索它,而不是从系统时钟中获取日期。
创建一个新实例的问题是它会返回相同的日期而不用系统时钟更新时间。 IE。返回
Date {Fri Jan 20 2012 00:00:00 GMT+0700 (SE Asia Standard Time)}
Date {Fri Jan 20 2012 00:00:00 GMT+0700 (SE Asia Standard Time)}
Date {Fri Jan 20 2012 00:00:00 GMT+0700 (SE Asia Standard Time)}
Date {Fri Jan 20 2012 00:00:00 GMT+0700 (SE Asia Standard Time)}
通过仅编辑年、月和日,我需要保留分钟、秒等以随系统时钟更新,而不是出于测试目的而保持静态。
这是我目前正在做的事情,但对我没有用。
Date = function (Date) {
return function () {
var date = new Date();
date.setFullYear(%s)
date.setMonth(%s);
date.setDate(%s);
return date;
}
}(Date)
alert(new Date())
编辑: 我遇到的主要问题是我需要在我正在测试的窗口中打开控制台,并让它看起来是我想要的日期,而如果它不能保持秒数不变http://postimg.org/image/6hzjw4h7j/
编辑: 改变浏览器时间的解决方案如下
Date = function(Date){
return function() {
date = new Date();
date.setTime(date.getTime() - %d);
return date;
}
}(Date);
感谢大家的意见,希望这对其他人有所帮助。
【问题讨论】:
-
为什么不获取一个具有系统日期和时间的普通 Date 对象,然后修改它的年、月、日字段?
-
您不能在 JavaScript 中执行此操作 - 您可以: A) 重构被测代码以获取返回日期的函数或服务(因此您可以传入一个返回日期的模拟服务您想要的日期或 B) 更新实际的系统时钟
-
我很想看看我能不能完成这项工作。完成后我会发布更新
-
你只需要返回对象期望的所有可能的方法。
-
你想做什么?您知道 JavaScript 中的
Date对象允许您传递其构造函数参数,对吗?var myDate = new Date(year, month, day);developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript date object prototype