Date 需要时间和时间;谷歌表单上的日期戳,但显示时间提前了四个小时
我在Google Sheets中有一列,当我输入首字母时,脚本时间戳进入下一列,然后通过现有的可变值单元格公式(例如:=B9 time(4,4,0))反映其他几个偏移模拟时间戳 我现在面临的问题是,任何后续条目都必须是实时的,并加盖相应的印章,这会阻止我使用时区技巧来完成。基本上,我只需要脚本显示当前时间戳减去四个小时(这是用于我的“设置”单元,该单元自动回填模拟时间),但对于所有未来条目都正常工作(如果理解目的有助于澄清我的问题,这是用于药物管理模拟) 这是我的工作脚本(减去当前时间减去四小时的能力):Date 需要时间和时间;谷歌表单上的日期戳,但显示时间提前了四个小时,date,time,google-sheets,datetimeoffset,Date,Time,Google Sheets,Datetimeoffset,我在Google Sheets中有一列,当我输入首字母时,脚本时间戳进入下一列,然后通过现有的可变值单元格公式(例如:=B9 time(4,4,0))反映其他几个偏移模拟时间戳 我现在面临的问题是,任何后续条目都必须是实时的,并加盖相应的印章,这会阻止我使用时区技巧来完成。基本上,我只需要脚本显示当前时间戳减去四个小时(这是用于我的“设置”单元,该单元自动回填模拟时间),但对于所有未来条目都正常工作(如果理解目的有助于澄清我的问题,这是用于药物管理模拟) 这是我的工作脚本(减去当前时间减去四小时
这是我用来测试的代码。您可以拔出工时调整部件
function onEdit(e) {
x=e.source.getSheetName()
if( x == "Vitals" ) { //checks that we're on the correct sheet
var y = e.range.getSheet().getActiveCell();
if( y.getColumn() == 1 ) { //checks the column
var nextCell = y.offset(0,1);
if( nextCell.getValue() === '' ) //is empty?
var d = new Date();// d is now a date object
var h=d.getHours()
var m=d.getMinutes()
var s=d.getSeconds()
var nh=h-4 //subtract 4 hrs
d.setHours(nh,m,s,0); //set the new hours , min Secs and milliSecs as well
nextCell.setValue(d);
}
}
}
下面是我的共享测试电子表格的链接。复制一份,然后试一试
您能告诉我如何将其插入正确的位置吗?另一位先生告诉我,我必须将这些事件触发器分配给相应的列/单元格,因为它们不会在脚本编辑器中运行。当我删除脚本的VITALS部分并将其添加到我“缩写”列(第1列)的第一个单元格中,作为条件设置->自定义公式下的校准值时,偏移框(第2列)中不会发生任何事情。再次感谢!我在答案中添加了一个到我的测试电子表格的链接。如果这不能回答您的问题,请共享您的电子表格,我会看一看。转到您的脚本编辑器。将光标放在onOpen函数最后一行的末尾(第19行)。输入,将新建一行。复制并粘贴上面的代码。保存,你应该很好去。下面是指向您的电子表格副本的链接。好像当我在首字母的金色空白框中输入时间戳时,它会在生命体征的B列中标记当前时间,而不是在四小时前…是在你这边吗?好的,我看到问题了。我不知道你已经有另一个了。你不能有两个。如果我把你的注释掉,我的注释正确。您是否需要MAR日期时间来抵消4小时?我也能做到。让我知道。我要离开几个小时。我回来后再查。
function onEdit(e) {
x=e.source.getSheetName()
if( x == "Vitals" ) { //checks that we're on the correct sheet
var y = e.range.getSheet().getActiveCell();
if( y.getColumn() == 1 ) { //checks the column
var nextCell = y.offset(0,1);
if( nextCell.getValue() === '' ) //is empty?
var d = new Date();// d is now a date object
var h=d.getHours()
var m=d.getMinutes()
var s=d.getSeconds()
var nh=h-4 //subtract 4 hrs
d.setHours(nh,m,s,0); //set the new hours , min Secs and milliSecs as well
nextCell.setValue(d);
}
}
}