Выберите дату сегодня и добавьте 7 дней (для кода Google Opt-In) - PullRequest
0 голосов
/ 08 сентября 2018

Я не знаю Javascript или PHP, и я изо всех сил старался найти ответ в Интернете, но без базовых знаний я понятия не имею, как это сделать. Я уверен, что многие, как я, застряли.

Моя ситуация заключается в том, что мне нужно вставить дату доставки, каким-то образом извлекая текущую дату и добавляя к ней 7 дней, а затем введите ее в поле «ГГГГ-ММ-ДД» в приведенном ниже коде.

Лучший ответ, который я нашел, это здесь , но я понятия не имею, как его реализовать

Это полный код, пожалуйста, помогите мне разобраться, как его структурировать:

<!-- 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 -->

1 Ответ

0 голосов
/ 08 сентября 2018

sevenDaysFromNow получит текущую дату и время, затем я установлю текущую дату и время + 7 дней. Вы можете прочитать о setDate / getDate здесь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate

Затем я использую функцию formatDate, чтобы преобразовать ее в гггг-мм-дд. Формат даты конвертации взят здесь Формат JavaScript Дата в гггг-мм-дд

Это результат:

<!-- 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 -->
...