【发布时间】:2020-09-18 14:03:16
【问题描述】:
我将这个小脚本作为更大项目的一部分:
//get all trigger values from named ranges containing __
function triggers(e) {
console.log("redirect");
const ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/10JekLhXtlbkEfXJBB7HfIF4t3pyQQpKbPzTCJq0306o/edit#gid=465383306");
ss.setSpreadsheetLocale('en');
//const timeNow = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/YYYY").toString();
const timeNow = new Date().toLocaleDateString();
const triggers = ss.getNamedRanges().reduce( (acc,curr)=>{
if (curr.getName().indexOf("__")>-1) {acc.push([curr.getName(), curr.getRange().getValue().toLocaleDateString()])}
return acc;}, []);
console.log(triggers. timeNow);
//call switch function to redirect trigger to associated function
triggers.forEach(x => {if(x[1] == timeNow){triggerRedirs(x[0])}});
}
当我手动运行脚本时,返回的值返回为dd/MM/YYYY,这是正确的,但是当我通过触发器运行脚本时,所有返回的日期都采用MM/dd/YYYY 的格式。我已将链接的电子表格区域设置为英国,并且脚本项目时区是伦敦。
任何帮助都会很棒
【问题讨论】:
标签: javascript datetime google-apps-script google-sheets