Javascript 如何在google calendar api的事件对象中设置开始和结束时间
我正在使用谷歌日历api在日历上创建事件。我在这里关注谷歌的api文档 我的支持服务当前正在以这种格式向我返回事件开始日期和时间Javascript 如何在google calendar api的事件对象中设置开始和结束时间,javascript,google-api,google-calendar-api,Javascript,Google Api,Google Calendar Api,我正在使用谷歌日历api在日历上创建事件。我在这里关注谷歌的api文档 我的支持服务当前正在以这种格式向我返回事件开始日期和时间2020-06-10T10:00:00.000以及字符串形式的持续时间'01:30:00'。它还向我返回了时区美国/洛杉矶。如何使用这些值设置开始日期时间和结束日期时间。需要使用不同的Javascript日期对象方法 样本: var timeString = "2020-06-10T10:00:00.000"; var timeZone = "America/L
2020-06-10T10:00:00.000
以及字符串形式的持续时间'01:30:00'
。它还向我返回了时区美国/洛杉矶
。如何使用这些值设置开始日期时间和结束日期时间。需要使用不同的Javascript日期对象方法
样本:
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'}
],
}
需要使用不同的Javascript日期对象方法
样本:
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'}
],
}
非常感谢你美丽的答案,我从中学到了很多。非常感谢你美丽的答案,我从中学到了很多。