代码中设置的事件日历时间与电子表格中的时区设置不同

时间:2015-03-01 23:02:40

标签: google-apps-script google-sheets

我与美国某人共享的电子表格正在创建与我在英国的日期和时间不符的日期。电子表格设置为伦敦时间的正确时间。

可以从FILE,SPREADSHEET菜单打开设置。

我在英国电脑的单位表格中输入日期,日期(时间)会被代码更改。

以下是代码:

function fncAddCalenderEvent(argDataToAdd) {
  var objDate = {"JobDate": "March 13, 2015 11:30:00"};
  
  var cal = CalendarApp.getDefaultCalendar();
  //var calName = cal.getName();
  //var calDesc = cal.getDescription();

  var calndrTitle = "test Title";
  
  var dateFromObj = objDate["JobDate"];
  var startDate = new Date(dateFromObj);

  var end = new Date(startDate);
   
  var jobDescrptn = "Test Job Description";

  var event = cal.createEvent(calndrTitle, startDate, end, {
    description : jobDescrptn
  });

};

代码中对象的时间是11:30,但如果我在英国的计算机上运行代码,则英国的日历时间设置为7:30如果美国用户运行代码,在他们的日历中为他们正确设置时间。我希望时间是正确的英国时间,而不是美国的时间。我在英国的日历是伦敦时间,共享电子表格设置为伦敦时间。我正在从英国的计算机上运行电子表格。为什么代码进入了错误的时间?

1 个答案:

答案 0 :(得分:0)

即使正确设置了电子表格时间,脚本编辑器也会设置时间。使用文件菜单:

Project File

查看项目属性:

Project Properties

如果时区不是您当地的时区,则代码中的日期/时间功能会将时间和日期强制转换为脚本编辑器中设置的时区。更改脚本编辑器属性中的时区,看看是否能解决问题。