Создан Google Sheet Часовой пояс - PullRequest
0 голосов
/ 10 марта 2020

У меня есть скрипт, который преобразует и файл Excel в Google Sheet. Однако недавно созданный Google Sheet по умолчанию использует часовой пояс Pacifi c. Мы уже настроили нашу компанию на использование восточного часового пояса в Google Admin. У меня также есть локальный компьютер, на котором выполняется сценарий, настроенный на восточный часовой пояс, и пользователь также настроен на восточный часовой пояс. Проект сценария также настроен на восточный часовой пояс. Если я захожу в Службы Google и создаю лист с нуля, по умолчанию будет выбран восточный часовой пояс. Но когда скрипт создает новый лист, он всегда по умолчанию использует часовой пояс Pacifi c. Поскольку кажется, что нет способа установить часовой пояс с помощью функции скрипта, есть ли способ установить его по умолчанию для восточного часового пояса? Обратите внимание, что здесь, в восточном часовом поясе, у нас тупое летнее время. Таким образом, он изменяется между -4 и -5, что является такой болью!

Моя причина в том, что после того, как я преобразовал Excel в Google Sheet, мне нужно импортировать записи в другой лист импорта. Импортированные данные имеют даты и время, которые продолжают отображаться после или во время импорта. Поскольку я импортирую, используя функцию getRange.getValues, она всегда выполняет новую функцию Date (). Я также попробовал функцию Utilities.format. Но я не знаю, могу ли я быть уверен, что часовой пояс останется прежним. И поскольку я не могу прочитать, какой часовой пояс имеет созданный лист, он становится азартной игрой.

Буду признателен за любую помощь, которая может быть предложена в виде исправлений сценариев. Для меня нереально каждый раз вводить go и изменять часовой пояс внутри самого листа.

Спасибо за любую помощь!

Дуг

Код преобразования:

    function convertExceltoGoogleSheet(fileName, newFileName) {

      try {

        var fileName = fileName || "microsoft-excel.xlsx";

        var excelFile = DriveApp.getFilesByName(fileName).next();
        var fileId = excelFile.getId();
        var folderId = Drive.Files.get(fileId).parents[0].id;  
        var blob = excelFile.getBlob();

        //If no newFileName passed, create one
        if (newFileName.trim() == '') {    
          //Generate formatted filename
          var dateInfo = getDateInfo(-20);
          var mo = dateInfo[2].toString();
          if (mo.length < 2) {
            var mo = "0" + mo;
          }
          var newFileName = dateInfo[0].toString() + "-" + mo + "-" + filename;      
        }

        var resource = {
          //title: excelFile.getName().replace(/.xlsx?/, ""),  //use original filename
          title: newFileName, //Use formatted filename from above
          key: fileId,
          parents: [{"id": folderId}]
        };
        var newFile = Drive.Files.insert(resource, blob, {
          convert: true
        });

        return newFile.id;

      } catch (f) {
        Logger.log(f.toString());
      }
}
...