[英]How to set start and end time in event object for google calendar api
我正在使用谷歌日历 api 在日历上创建事件。 我在这里关注谷歌的 api 文档https://developers.google.com/calendar/create-events#javascript 。
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google\'s developer products.',
'start': {
'dateTime': '2015-05-28T09:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'end': {
'dateTime': '2015-05-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'attendees': [
{'email': 'lpage@example.com'},
{'email': 'sbrin@example.com'}
],
};
我支持的服务目前正在以2020-06-10T10:00:00.000
格式向我返回事件开始日期和时间,以及字符串'01:30:00'
中的持续时间。 它还让我返回时区America/Los_Angeles
。 如何使用这些值设置我的开始日期时间和结束日期时间。
样本:
var timeString = "2020-06-10T10:00:00.000";
var timeZone = "America/Los_Angeles";
var duration = '01:30:00';
var startDate = new Date(timeString);
var msDuration = (Number(duration.split(':')[0]) * 60 * 60 + Number(duration.split(':')[1]) * 60 + Number(duration.split(':')[2])) * 1000;
var endDate = new Date(startDate.getTime() + msDuration);
var isoStartDate = new Date(startDate.getTime()-new Date().getTimezoneOffset()*60*1000).toISOString().split(".")[0];
var isoEndDate = new Date(endDate.getTime()-(new Date().getTimezoneOffset())*60*1000).toISOString().split(".")[0];
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google\'s developer products.',
'start': {
'dateTime': isoStartDate,
'timeZone': timeZone
},
'end': {
'dateTime': isoEndDate,
'timeZone': timeZone
},
'attendees': [
{'email': 'lpage@example.com'},
{'email': 'sbrin@example.com'}
],
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.