1

我复制了一个脚本:当你访问一个 url 时,url 中有值:我的 googlesheet 会自动填充单元格中隐藏在 url 中的值,并且在同一行:日期和时间。一切正常,只是时间不是我的时区。

我应该更改什么以使时间处于我的时区?谢谢

function doGet(e) { 
  Logger.log( JSON.stringify(e) );  // view parameters
  var result = 'Ok'; // assume success
  if (e.parameter == 'undefined') {
    result = 'No Parameters';
  }
  else {
    var sheet_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';       // Spreadsheet ID
    var sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet();     // get Active sheet
    var newRow = sheet.getLastRow() + 1;                        
    var rowData = [];
    var Curr_Date = new Date(); 
    rowData[0] = Curr_Date;                                             // Date in column A
    var Curr_Time = Utilities.formatDate(Curr_Date, "europe/paris", 'HH:mm:ss');
    rowData[1] = Curr_Time;                                             // Time in column B
    for (var param in e.parameter) {
      Logger.log('In for loop, param=' + param);
      var value = stripQuotes(e.parameter[param]);
      Logger.log(param + ':' + e.parameter[param]);
      switch (param) {
        case 'LDR': //Parameter
          rowData[2] = value; //Value in column C
          break;
        case 'Button': //Parameter
          rowData[3] = value; //Value in column D
          break;  
        default:
          result = "unsupported parameter";
      }
    }
    Logger.log(JSON.stringify(rowData));
    // Write new row below
    var newRange = sheet.getRange(newRow, 1, 1, rowData.length);
    newRange.setValues([rowData]);
  }
  // Return result of operation
  return ContentService.createTextOutput(result);
}
/**
* Remove leading and trailing single or double quotes
*/
function stripQuotes(value) {
  return value.replace(/^["']|['"]$/g, "");
}
4

1 回答 1

1

有两种方法可以更改电子表格中的时区。第一个是通过 UI 的,第二个是通过编程的。

第一种方式 -> 从用户界面

转到File -> Spreadsheet settings,将打开一个弹出窗口,如下图所示:

在此处输入图像描述

如您所见,有一个选项可以将时区更改为您想要的时区。

第二种方式 - >以编程方式:

电子表格类具有方法,该setSpreadsheetTimeZone(timezone)方法将更改电子表格中的时区,但现在以编程方式。这是一个如何使用它的小例子:

function dateFormat() {
  var ss = SpreadsheetApp.openById("your-id");
  // Get the current Spreadsheet's time zone 
  var currentTimeZone = ss.getSpreadsheetTimeZone();
  Logger.log(currentTimeZone); // Check the current time zone
  // Set the new Spreadsheet's time zone
  var updatedTimeZone = ss.setSpreadsheetTimeZone("Europe/Paris");
  Logger.log(updatedTimeZone); // Check the updated time zone
}
于 2020-02-24T08:39:25.953 回答