我需要一个优雅的解决方案来格式化比赛时间

时间:2019-07-18 09:29:15

标签: google-apps-script

我处理比赛结果,比赛时间通常来自各种格式的比赛主管。我需要重新处理它们。我有一个可以正常工作的函数,但是我想知道是否有更好的方法。

我目前使用下面的代码,该代码基本上只是查找并替换我需要的东西。但是,除了难看之外,它还有一个问题。

说我有13分45秒的时间。这需要阅读为13:45。有时它将在13:45:00出现。好的,这样我就可以去除尾随的零和冒号了。

但是,如果我得到的时间是13小时45分零秒,那么13:45:00是完全合法的,我希望保留尾随的零。

我确定必须有一种解决方法,但是我不知道如何解决。

非常感谢您的协助。谢谢。

    function formatGunTimes() {

     var range = SpreadsheetApp.getActiveSpreadsheet().getRange("J2:J");
     var v = range.getValues();
    for ( var r = 0; r < v.length; ++r) {
      v[r][0] = v[r][0].replace(".", ":");
      v[r][0] = v[r][0].replace(/^0/g, "");
      v[r][0] = v[r][0].replace(/^1:0/g, "6");
      v[r][0] = v[r][0].replace(/^1:1/g, "7");
      v[r][0] = v[r][0].replace(/^1:2/g, "8");
      v[r][0] = v[r][0].replace(/^1:3/g, "9");
      v[r][0] = v[r][0].replace(/^0:/g, "");
      v[r][0] = v[r][0].replace(/^:/g, "");
      v[r][0] = v[r][0].replace(/:0$/g, "");
      v[r][0] = v[r][0].replace(/^\s*$/g, "0");
      }
    range.setValues(v);
    }

0 个答案:

没有答案