日期选择器 return 值的 getEventsForDay() 格式问题
getEventsForDay() formatting issues with datepicker return value
我正在尝试使用日历 API 根据日期选择器输出提取一些事件。我的 AppScript 面临的问题是正确格式化我从日期选择器获得的值,该值将用作 getEventsForDay() 函数的输入。
function testing(){
var z = CalendarApp.getCalendarsByName("X")[0];
var date = new Date('2016-10-12');
var dateformatted =Utilities.formatDate(date), "GMT", "yyyy-MM-dd hh:mm:ss a");
var a = z.getEventsForDay(dateformatted, {search: 'OOO'});
a 在此场景中的输出是一个空对象 - 这是预料之中的,因为此格式设置根本不起作用。 (我已经阅读了 1000 篇应该有效的帖子)。
对于上下文,我有一个今天日期的工作示例,它工作正常,因为输入是一个新的 Date()。给你:
var datetoday = new Date();
var b = z.getEventsForDay(datetoday, {search: 'OOO'});
关于我在这里遗漏的任何想法?
提前致谢。
由于 new Date()
return 是 UTC 而不是本地时区的 Date 对象,您可能会查询错误的日期,因此如果另一天没有任何事件,则为空对象。
您可以将日期转换为当前时区,例如
date.setTime(date.getTime() + date.getTimezoneOffset()*60*1000)
这应该 return 当地时区的日期,您将获得正确日期的事件。
希望对您有所帮助
进行了一些更改,现在可以在 App 脚本上运行:
var t = "2016-10-01";
var q = t.replace(/-/g,"/");
var a = new Date(q);
a.setTime(a.getTime() + a.getTimezoneOffset()*60*1000)
var w = z.getEventsForDay(a, {search: 'OOO'});
Logger.log(a);
Logger.log(w);
我正在尝试使用日历 API 根据日期选择器输出提取一些事件。我的 AppScript 面临的问题是正确格式化我从日期选择器获得的值,该值将用作 getEventsForDay() 函数的输入。
function testing(){
var z = CalendarApp.getCalendarsByName("X")[0];
var date = new Date('2016-10-12');
var dateformatted =Utilities.formatDate(date), "GMT", "yyyy-MM-dd hh:mm:ss a");
var a = z.getEventsForDay(dateformatted, {search: 'OOO'});
a 在此场景中的输出是一个空对象 - 这是预料之中的,因为此格式设置根本不起作用。 (我已经阅读了 1000 篇应该有效的帖子)。
对于上下文,我有一个今天日期的工作示例,它工作正常,因为输入是一个新的 Date()。给你:
var datetoday = new Date();
var b = z.getEventsForDay(datetoday, {search: 'OOO'});
关于我在这里遗漏的任何想法?
提前致谢。
由于 new Date()
return 是 UTC 而不是本地时区的 Date 对象,您可能会查询错误的日期,因此如果另一天没有任何事件,则为空对象。
您可以将日期转换为当前时区,例如
date.setTime(date.getTime() + date.getTimezoneOffset()*60*1000)
这应该 return 当地时区的日期,您将获得正确日期的事件。
希望对您有所帮助
进行了一些更改,现在可以在 App 脚本上运行:
var t = "2016-10-01";
var q = t.replace(/-/g,"/");
var a = new Date(q);
a.setTime(a.getTime() + a.getTimezoneOffset()*60*1000)
var w = z.getEventsForDay(a, {search: 'OOO'});
Logger.log(a);
Logger.log(w);