Примеры JavaScript Date

В этих примерах показано, как использовать объект JavaScript Date .

Примечание.

Запустите эти примеры непосредственно из редактора кода сценариев Office. Чтобы открыть редактор кода, перейдите в раздел Автоматизация>создания скриптов>в редакторе кода. Замените код по умолчанию примером кода, который вы хотите запустить, а затем нажмите кнопку Выполнить.

Запись текущей даты и времени

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

function main(workbook: ExcelScript.Workbook) {
  // Get the cells at A1 and B1.
  let dateRange = workbook.getActiveWorksheet().getRange("A1");
  let timeRange = workbook.getActiveWorksheet().getRange("B1");

  // Get the current date and time with the JavaScript Date object.
  let date = new Date(Date.now());

  // Add the date string to A1.
  dateRange.setValue(date.toLocaleDateString());

  // Add the time string to B1.
  timeRange.setValue(date.toLocaleTimeString());
}

Чтение даты Excel

Этот пример считывает дату, хранящуюся в Excel, и преобразует ее в объект JavaScript Date . Он использует числовой серийный номер даты в качестве входных данных для JavaScript Date. Этот серийный номер описан в статье о функции NOW().

function main(workbook: ExcelScript.Workbook) {
  // Read a date at cell A1 from Excel.
  let dateRange = workbook.getActiveWorksheet().getRange("A1");

  // Convert the Excel date to a JavaScript Date object.
  let excelDateValue = dateRange.getValue() as number;
  let javaScriptDate = new Date(Math.round((excelDateValue - 25569) * 86400 * 1000));
  console.log(javaScriptDate);
}

Использование даты в сводных фильтрах

В этом примере фильтр даты применяется к сводной таблице для отображения только элементов за последние 30 дней. Он использует объекты JavaScript Date для вычисления диапазона дат для фильтра.

function main(workbook: ExcelScript.Workbook) {
  // Get the PivotTable named "Pivot" from the workbook.
  const pivot = workbook.getPivotTable("Pivot");

  // Create Date objects for the current date and the date 30 days ago.
  const today = new Date();
  const thirtyDaysAgo = new Date(today);
  thirtyDaysAgo.setDate(today.getDate() - 30);

  // Get the "Last Updated" field from the PivotTable.
  const rowHierarchy = pivot.getRowHierarchy("Last Updated");
  const rowField = rowHierarchy.getFields()[0];

  // Apply a date filter to show only items from the last 30 days.
  rowField.applyFilter({
    dateFilter: {
      condition: ExcelScript.DateFilterCondition.between,
      lowerBound: {
        date: thirtyDaysAgo.toISOString(),
        specificity: ExcelScript.FilterDatetimeSpecificity.day
      },
      upperBound: {
        date: today.toISOString(),
        specificity: ExcelScript.FilterDatetimeSpecificity.day
      },
    }
  });
}

См. также