-4

我不知道 Javascript 或 PHP,我已尽力在网上找到答案,但没有基本知识,我不知道如何做到这一点。我相信有很多像我这样被困住的人。

我的情况是我需要通过某种方式获取当前日期并添加 7 天来插入交货日期,然后将其输入到下面代码中的“YYYY-MM-DD”字段中。

我找到的最佳答案是here,但我不知道如何实现它

这是完整的代码,请帮我弄清楚如何构造它:

<!-- BEGIN GCR Opt-in Module Code -->
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn"
  async defer>
</script>

<script>
  window.renderOptIn = function() { 
    window.gapi.load('surveyoptin', function() {
      window.gapi.surveyoptin.render(
        {
          // REQUIRED
          "merchant_id":"xxxxxxxxxx",
          "order_id": "{BOOKINGNUMBER}",
          "email": "{EMAIL}",
          "delivery_country": "ISO 3166-2:CA",
          "estimated_delivery_date": "YYYY-MM-DD",

          // OPTIONAL
          "opt_in_style": "CENTER_DIALOG"
        }); 
     });
  }
</script>
<!-- END GCR Opt-in Module Code -->
4

1 回答 1

0

sevenDaysFromNow将获取当前日期和时间,然后将其设置为当前日期和时间 + 7 天。您可以在此处阅读有关setDate/的信息https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDategetDate

然后我使用formatDate函数将其转换为 yyyy-mm-dd。转换日期格式取自此处 Format JavaScript Date to yyyy-mm-dd

这是结果:

<!-- BEGIN GCR Opt-in Module Code -->
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn"
  async defer>
</script>
<script>
var sevenDaysFromNow = new Date().setDate(new Date().getDate() + 7);
function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) month = '0' + month;
    if (day.length < 2) day = '0' + day;

    return [year, month, day].join('-');
}
  window.renderOptIn = function() { 
    window.gapi.load('surveyoptin', function() {
      window.gapi.surveyoptin.render(
        {
          // REQUIRED
          "merchant_id":"xxxxxxxxxx",
          "order_id": "{BOOKINGNUMBER}",
          "email": "{EMAIL}",
          "delivery_country": "ISO 3166-2:CA",
          "estimated_delivery_date": formatDate(sevenDaysFromNow),

          // OPTIONAL
          "opt_in_style": "CENTER_DIALOG"
        }); 
     });
  }
</script>
<!-- END GCR Opt-in Module Code -->
于 2018-09-08T17:40:56.107 回答