Как найти сегодня и вчерашнюю дату как динамические переменные в скрипте приложения GoogleJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Как найти сегодня и вчерашнюю дату как динамические переменные в скрипте приложения Google

Сообщение Anonymous »

В настоящее время я пытаюсь написать сценарий, который копирует лист из мастер -копии, а затем переименован в сегодняшнюю дату, а затем копирует конкретные ячейки из листа предыдущих дней. В настоящее время у меня есть сценарий, написанный там, где он делает все это, за исключением того, что вместо того, чтобы копировать лист предыдущих дней на основе даты, я могу только выяснить его с помощью листа. Таким образом, в настоящее время сценарий сделает копию Мастера, переименована в текущую дату, а затем скопируйте конкретное имя, а не динамическое имя, идущее к дате. Это потому, что я не могу понять, как создать «вчера», который поднимает дату предыдущего дня. Текущая дата, которую он подтягивает, также не в моем часовом поясе, поэтому, когда он создает новый лист, в зависимости от того, когда я запускаю его, вместо этого это будет на следующий день. Например, его 7 вечера прямо сейчас 12 февраля, когда я сейчас запускаю сценарий, он называет дублированный лист в течение 13 февраля. Поэтому мне нужно вытащить текущую дату на основе моего часового пояса, и мне нужно вытащить вчерашнюю дату и иметь возможность использовать их в пути GetSheetbyName. < /P>
function FIguringoutYetserdat() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Master'));
spreadsheet.duplicateActiveSheet();
var today = new Date().toISOString().slice(0, 10);
spreadsheet.getActiveSheet().setName("Passdown - " + today);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Passdown - 2025-02-11'), true);
spreadsheet.getRange('C5:O12').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName("Passdown - " + today), true);
spreadsheet.getRange('C5:O12').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('C12'));
spreadsheet.getRange('\'Passdown - 2025-02-11\'!C5:O12').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Passdown - 2025-02-11'), true);
spreadsheet.getRange('A49:O56').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName("Passdown - " + today), true);
spreadsheet.getRange('A49:O56').activate();
spreadsheet.getRange('\'Passdown - 2025-02-11\'!A49:O56').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Passdown - 2025-02-11'), true);
spreadsheet.getRange('A65:O71').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName("Passdown - " + today), true);
spreadsheet.getRange('A65:O71').activate();
spreadsheet.getRange('\'Passdown - 2025-02-11\'!A65:O71').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};

// Это то, что у меня есть в настоящее время. В тех областях, где он показывает «пропуск-2025-02-11», это потому, что это имя «вчера», которое я должен вручную вставить вручную, чтобы вытащить информацию со вчерашнего листа. Итак, это область, в которой я хочу изменить ее на то, как сегодня дата ставит как «пропустить -» + сегодня, чтобы найти вчерашний лист по имени как «Пропуск -» + вчера »заранее. < /P>
Я теперь использую код -< /p>
Utilities.formatDate(new Date(), spreadsheet.getSpreadsheetTimeZone(), "MM/dd/yyyy");
var yesterday = new Date(Date.now() - 86400000);
< /code>
Проблема заключается в том, что теперь напечатанная дата не такая же форматирование, как моя дата, которая тянется при тяге сегодня. Однако сам форматирование также является проблемой из -за того, как долго это. При тяге сегодня это простой MM/DD/YYYY, но при вытяжении вчера я получаю обширный формат MMM DD YYYY (HH, MM, SS). Мне не нужно время, и я хотел бы сохранить свой формат MM/DD/YYYY при вытяжении вчерашней даты. Написано как SO: < /p>
var yesterday = Utilities.formatDate(new Date(Date.now() - 86400000), spreadsheet.getSpreadsheetTimeZone(), "MM/dd/yyyy");```



Подробнее здесь: https://stackoverflow.com/questions/794 ... -app-scrip
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»