从今天开始设置日期X天

时间:2015-02-25 20:57:45

标签: javascript

我们正在设置Google受信任商店,并且需要使用今天的日期加上2天填充以下范围ID字段ORDER_EST_SHIP_DATE

<span id="gts-o-est-ship-date">ORDER_EST_SHIP_DATE</span>

输出为YYYY-MM-DD格式

例如,今天是 2015-02-25 。我需要发布代码行:

<span id="gts-o-est-ship-date">2015-02-27</span>

我还需要发布另一个跨度ID为今天的日期加上7天:

<span id="gts-o-est-delivery-date">ORDER_EST_DELIVERY_DATE</span>

根据今天的日期,有两个不同的日期: - 1从今天起2天 - 从今天起7天后的1

function addDays(theDate, days) {
    return new Date(theDate.getTime() + days*24*60*60*1000);
}

var newDate = addDays(new Date(), 5);

2 个答案:

答案 0 :(得分:1)

JavaScript日期有一个内置方法:

var date = new Date();
date.setDate(date.getDate() + 2 /*days*/ );
var dateString = date.toISOString().slice(0, 10);
document.getElementById('gts-o-est-ship-date').innerHTML = dateString;
<div id="gts-o-est-ship-date"></div>

toISOString

上的文档

答案 1 :(得分:1)

首先使用Date.parse将日期转换为以微秒为单位的时间戳:

比微秒增加两天和七天,转换回人类可读日期。

&#13;
&#13;
var timeStamp = Date.parse("2015-02-25");

//add two days, in microseconds = 60*60*24*2*1000
var TwoDays = 172800000;
var SevenDays = 604800000;

function convertToDate(timeStamp)
{
  var date = new Date(timeStamp);
  return date.toJSON().split("T")[0];
}

document.write(convertToDate(timeStamp+TwoDays)); //show two days in future
document.write("<br />");
document.write(convertToDate(timeStamp+SevenDays)); //show seven days in future
&#13;
&#13;
&#13;

  

返回UTC日期。因此,您可能需要将其转换为用户区域设置。选择所有时间的基准时间(例如UTC)并将其转换为用户区域设置作为最后一步非常重要。