谷歌电子表格中的时间提取错误了吗?

时间:2015-09-27 12:20:35

标签: javascript time google-apps-script google-sheets

我试图通过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
如何实现以及如何检索适当的时间价值?

1 个答案:

答案 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