首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google工作表的静态时间戳

Google工作表的静态时间戳
EN

Stack Overflow用户
提问于 2020-05-22 12:44:13
回答 4查看 4.5K关注 0票数 2

在电子表格中,需要一个按钮将表的时区当前时间和日期写入单元格中,因此每次按下该按钮时,该特定单元格中的时间戳都会更新。

在尝试了不同的脚本之后,拒绝了一些脚本,因为它们不使用dd/mm/yyyy :mm:ss或不允许更改格式,因此达到了以下目的:

代码语言:javascript
运行
复制
function TIMESTAMP() {
  SpreadsheetApp.getActiveRange().setValue(new Date());
  var sheet = SpreadsheetApp.getActiveSheet();
  var addedDate = sheet.getRange(1,1).getValue();
  var addedTime = Utilities.formatDate(addedDate, SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "hh:mm a");
}

当按下带有脚本的按钮时,带有正确时区的时间戳将显示在当前活动单元格中,但会显示一个错误:

异常:参数(字符串、字符串、字符串)与Utilities.formatDate的方法签名不匹配。

如何指定显示时间戳的单元格,使其值每次按下按钮时更新,并解决参数错误?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-05-22 13:53:11

这个怎么样:

代码语言:javascript
运行
复制
function TIMESTAMP() 
  {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var addedDateAndTime = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "dd/MM/yyyy HH:mm:ss");
    //Optional if you only want the date: var addedDate = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "dd/MM/yyyy");
    //Optional if you only want the time: var addedTime = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "hh:mm:ss");
    sheet.getRange(1,1).setValue(addedDateAndTime)
    }
票数 1
EN

Stack Overflow用户

发布于 2020-05-22 13:18:46

查看代码,错误消息的原因是活动单元格不是A1A1为空(作为getValue返回和空字符串)或具有文本值。

不改变代码的解决方案是,在运行函数之前,单击A1,然后运行该函数。

您的代码已经指定了显示时间戳的单元格。这条线上

代码语言:javascript
运行
复制
SpreadsheetApp.getActiveRange().setValue(new Date());

它使用的是getActiveRange()。要使用另一个单元格,我看到的大多数示例都使用类表的getRange方法之一。

顺便说一句,这个网站上有几个关于在Google中添加时间戳的问题。一个例子是Automatic timestamp when a cell is filled out

参考文献

票数 0
EN

Stack Overflow用户

发布于 2020-05-22 14:57:56

尝试:

代码语言:javascript
运行
复制
function TIMESTAMP() {
  var ss=SpreadsheetApp.getActive();
  var sheet=SpreadsheetApp.getActiveSheet();
  sheet.getRange(1,1).setValue(Utilities.formatDate(new Date(sheet.getRange(1,1).getValue()), ss.getSpreadsheetTimeZone(), "dd/MM/yyyy HH:mm:ss"));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61955353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档