我试图通过GAS从Google表格单元格中检索时间值。我输入了单元格值(10:30)并使用以下代码(video)
获取它function test_time_getting() {
var sheet, value, p;
sheet = SpreadsheetApp.getActive().getSheetByName('mockup data');
value = sheet.getRange(1,1).getValue();
Logger.log(value);
}
但是我意外地在日志中收到了下一个结果:
[15-09-27 05:07:43:784 PDT] 12月30日星期六10:26:59 GMT + 02:27 1899
如何实现以及如何检索适当的时间价值?
答案 0 :(得分:0)
通过以下代码进行正确的时间提取:
True
因此,您可以获得正确的秒数,然后您可以计算小时数和分钟数:
function getValueAsSeconds(range) {
var value = range.getValue();
// Get the date value in the spreadsheet's timezone.
var spreadsheetTimezone = range.getSheet().getParent().getSpreadsheetTimeZone();
var dateString = Utilities.formatDate(value, spreadsheetTimezone,
'EEE, d MMM yyyy HH:mm:ss');
var date = new Date(dateString);
// Initialize the date of the epoch.
var epoch = new Date('Dec 30, 1899 00:00:00');
// Calculate the number of milliseconds between the epoch and the value.
var diff = date.getTime() - epoch.getTime();
// Convert the milliseconds to seconds and return.
return Math.round(diff / 1000);
}
找到了答案here