如何获得日期并减去1年并有第二个日期用于显示和计算?
我是JS的新手,发现自己正在与日期对象战斗 我在globals区域中声明了currentDate和purchaseDate As var new date() 但是现在在一个函数中我尝试将原始日期指定为“currentDate和purchaseDate”一年后,警报显示我已经更改了currentDate的值而不仅仅是我想要的purchaseDate的值..
不是我想要的!所以我通过引用vs值传递,但不知道如何得到这个,以便我有currentDate和purchaseDate两个单独的值(一年前)
currentDate = data.getValue(0,2);
purchaseDate = valueOf(data.getValue(0,2));
purchaseDate.setFullYear(purchaseDate.getFullYear()-1);
alert(purchaseDate);
所以这段代码也失败了;也就是说,购买日期是1年前,但当前日期也是如此
currentDate = data.getValue(0,2);
purchaseDate = data.getValue(0,2);
purchaseDate.setFullYear(purchaseDate.getFullYear()-1);
alert(purchaseDate);
答案 0 :(得分:1)
您发布的代码太模糊,无法可靠地指出问题的根本原因(不清楚valueOf()
正在做什么),但基本上,您确实需要创建一个新的Date
实例在另一个Date
的时间。假设currentDate
也是真实的Date
,您可以采用以下方式执行此操作。
var purchaseDate = new Date(currentDate.getTime());
这是一个完整的启动示例:
var currentDate = new Date();
var purchaseDate = new Date(currentDate.getTime());
purchaseDate.setFullYear(purchaseDate.getFullYear() - 1);
alert(currentDate); // Today.
alert(purchaseDate); // Today minus one year.