javascript - 合并后表格中的 GAS 脚本更改日期和时间
问题描述
我在几张纸中有一个日期列,当我出于某种原因将此表格中的数据合并到另一个电子表格时,它会为每个日期增加 10 个小时。
function runTransferToMasterSheet() {
var folder = DriveApp.getFolderById("folderID");
var contents = folder.getFiles();
var file;
var data;
var sheetMaster = SpreadsheetApp.openByUrl('sheetURL').getSheets()[0];
var range = sheetMaster.getRange("A2:G120000");
range.clear();
while(contents.hasNext()){
file = contents.next();
var sheet = SpreadsheetApp.openById(file.getId()).getSheets()[0];
// delete row with columns names
sheet.deleteRow(1);
var data = sheet.getDataRange().getValues();
setDataToMaster(sheetMaster, sheet, data);
}
}
function setDataToMaster(sheetMaster, sheet, data) {
var sheetMaster = sheetMaster;
var sheet = sheet;
var startRow = 1;
var data = data;
if (sheetMaster.getDataRange().getValue() == null) {
sheetMaster.getRange(2, 1, data.length, 7).setValues(data);
} else {
sheetMaster.getRange((sheetMaster.getLastRow() + 1), 1, data.length, 7).setValues(data);
}
}
将合并的一张表中的日期 2018 年 6 月 13 日 11:10:00
最终表格中的日期 2018 年 6 月 13 日 21:10:00
解决方案
出于某种原因,我合并的表格(我使用一些 api 得到它们)有错误的时区,所以决定是在合并使用之前:
mySpreadSheet.setSpreadsheetTimeZone(Session.getScriptTimeZone());
推荐阅读
- r - 计算索引给定的两列之间的行中的唯一实例
- angular - 在 Angualr 8 中激活或停用命名路由器插座时,如何防止页面跳转到顶部?
- ios - 找不到flutter_blue^0.6.3 文件#import "google/protobuf/Any.pbobjc.h" Flutter
- python-3.x - 在 python 中写入 /proc/net/xt_recent/
- python - 如何通过对 1D nparray 中的每个元素应用不同的函数来获得 2D nparray?
- javascript - 调用嵌套函数
- jquery - 猫头鹰旋转木马 - 我如何获取当前视图中的确切元素?
- sql - 如何设置 MS Access 表单以在表中创建新行并将一个字段设置为默认值?
- node.js - 无法访问谷歌云中的环境变量(node js express app)
- rust - 反序列化 Vec
> 作为 Vec 直接当 Foobar 有一个字段时