Google表格 时间戳脚本格式:带有毫秒的时间和不带年份的日期

Google表格 时间戳脚本格式:带有毫秒的时间和不带年份的日期

问题描述

在我的Google表格中,我正在使用一个脚本,它可以从下拉列表选择的时间和日期中获取时间和日期,并将其放入D列到E列。

我希望时间的格式带有毫秒,日期不带年份。

另外,如果时间为单个数字(比如早上8点),我希望在数字前面有一个前导零。

解决方案

根据您提供的示例输出情况,您可以使用Utilities.formatDate进行修改,如下所示:

修改后的脚本1:

在这种情况下,如果您希望将值作为字符串值放入,您可以修改TIMESTAMP如下:

function TIMESTAMP() {
  return Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'HH:mm:ss:SSS" - "dd/MM');
}

修改后的脚本2:

如果您想将值作为日期对象放置,可以将onEdit修改如下:我认为这可能是与TheMaster的评论相同的方向。

function onEdit(e) {
  const excludeSheetNames = ["START", "MASTER"]; // Please set exclude sheet names.

  const { range } = e;
  const sheet = range.getSheet();
  if (excludeSheetNames.includes(sheet.getSheetName()) || range.columnStart != 4 || range.rowStart == 1) return;
  range.offset(0, 1).setNumberFormat('HH:mm:ss:SSS" - "dd/MM').setValue(new Date());

  if (e.value != "TRUE") return;
  e.source.getActiveSheet().getRange(e.range.rowStart, e.range.columnStart + 1).setValue(new Date()).setNumberFormat('HH:MM:SS - dd/MM ');
}
  • 在这个修改中,TIMESTAMP没有被使用。数字格式被改变并且日期对象被放入单元格中。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程