📌  相关文章
📜  Google Sheets 如何计算两个日期之间的工作日 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:41:36.397000             🧑  作者: Mango

Google Sheets 如何计算两个日期之间的工作日 - TypeScript

在 Google Sheets 中计算两个日期之间的工作日可以通过使用 TypeScript 进行自定义函数来实现。以下是一个示例的 TypeScript 代码片段,它实现了一个名为 workdaysBetween 的函数,用于计算两个日期之间的工作日数量。

/**
 * Calculates the number of workdays (excluding weekends) between two dates.
 * @param startDate The start date.
 * @param endDate The end date.
 * @returns The number of workdays between the two dates.
 */
function workdaysBetween(startDate: Date, endDate: Date): number {
  // Calculate the difference in days
  const days = Math.floor((endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24));

  // Calculate the number of weekends within the range
  const weekends = Math.floor(days / 7) * 2;

  // Adjust for the start and end date falling on a weekend
  if (startDate.getDay() === 0) weekends--;
  if (endDate.getDay() === 6) weekends--;

  // Calculate the number of workdays
  const workdays = days - weekends;

  return workdays;
}

使用此代码片段,您可以将其添加到 TypeScript 文件中,并在 Google Sheets 中使用以下步骤将其作为自定义函数进行调用:

  1. 在 Google Sheets 中打开您想要使用自定义函数的工作表。

  2. 点击菜单栏上的 "扩展" 选项。

  3. 选择 "Apps 脚本编辑器"。

  4. 在脚本编辑器中,选择 "文件" > "新建" > "脚本文件"。

  5. 将代码片段粘贴到新建的脚本文件中。

  6. 保存脚本文件,并为该脚本文件提供一个名称(例如 "WorkdayUtils")。

  7. 返回到您的 Google Sheets 工作表,并在需要计算工作日的单元格中输入以下公式:

    =WorkdayUtils.workdaysBetween(startDate, endDate)
    

    其中 WorkdayUtils 是您在第 6 步中为脚本文件提供的名称,startDate 是开始日期的单元格引用,endDate 是结束日期的单元格引用。

  8. 按下回车键,即可计算出两个日期之间的工作日数量。

此代码片段遵循 TypeScript 语法,因此您需要在使用之前确保正确地配置 TypeScript 环境。您可以使用适用于 Google Apps Script 的 TypeScript 库进行配置。

希望这个 TypeScript 代码片段能够帮助您在 Google Sheets 中计算两个日期之间的工作日。