首页 > 解决方案 > Google 表格秒表

问题描述

我正在尝试制作一个秒表来跟踪谷歌表格中员工的进出我似乎无法让它工作我希望它做的是每当他们点击时计时器开始计算他们的时间然后当他们点击OUT 计时器停止这是因为他们有午休时间等。这不是一项正常的工作,所以我需要它像这样工作这是我到目前为止的代码,它只显示 00:00:01 它不会继续数数

var app=SpreadsheetApp;
var seconds = 0, minutes = 0, hours = 0
  
function timer() {

    seconds++;
  
    if (seconds >= 60) {
        seconds = 0;
        minutes++;
        if (minutes >= 60) {
            minutes = 0;
            hours++;
        }
    }
    app.getActiveSpreadsheet().getActiveCell().setValue(hours+":"+minutes+":"+seconds);
}

标签: javascriptgoogle-sheetstimerstopwatch

解决方案


你接近这个的方式会太快地使用你的每日配额。 https://developers.google.com/apps-script/guides/services/quotas

一个更简单的解决方案是将开始时间和用户信息存储在单独的电子表格选项卡上,然后将其与结束时间(当他们按下 OUT 按钮时)进行比较,下面的脚本会将这些时间转换为工作总分钟数。

function timeLapse(inTime, outTime) {
      // Calculate new time
      var newTime = outTime - inTime;
      // Get datevalue in minutes
      var convertMinutes = newTime/60000;
      Logger.log(convertMinutes); 
      return convertMinutes;
    }

推荐阅读