Google API 中的 datetime 对象是什么,如何格式化它的字符串输出?
What is datetime object in Google API, and how to format its string output?
"start": {
"date": date,
"dateTime": datetime,
"timeZone": string
}...
这来自 Google 日历 API 事件 class(?) 的资源表示。 dateTime
字段应该是一个 datetime
对象。我找不到关于此 class 或其任何功能的任何资源,也没有找到一种方法来轻松格式化其字符串输出,例如 Date
object.
谢谢!
[编辑]从 How to convert date in RFC 3339 to the javascript date object(milliseconds since 1970) 看来 DateTime RFC 3339 字符串可以解析为 Date
对象,这应该可以解决问题。
如 Google Calendar resource documentation, the datetime is an RFC3339 格式的字符串中所述,例如
"1985-04-12T23:20:50.52Z"
事实上,Google Java 客户端库似乎有一个内置的 RFC3339 格式化程序,使这更容易。看到这个答案:How do I parse RFC 3339 datetimes with Java?
看起来您已经解决了这个问题,但我只想在这里分享我的解决方案,以防其他人发现它有用。
将 dateTime 添加到 Google 日历 API 似乎最容易实现,方法是操作 Date 对象直到它代表适当的 date/time 然后才调用 .toISOString()方法将其转换为 Google 日历 API
所需的格式
也供参考 here 是我认为有用的时区列表
let startDateTime = new Date();
let finishDateTime = new Date();
finishDateTime.setTime(finishDateTime.getTime() + (1*60*60*1000));
const event = {
'summary': 'test event',
'start': {
'dateTime': startDateTime.toISOString(),
'timeZone': 'Australia/Melbourne'
},
'end': {
'dateTime': finishDateTime.toISOString(),
'timeZone': 'Australia/Melbourne'
}
};
const request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': event
});
request.execute(function(event) {
console.log('Event created: ' + event.htmlLink);
});
"start": {
"date": date,
"dateTime": datetime,
"timeZone": string
}...
这来自 Google 日历 API 事件 class(?) 的资源表示。 dateTime
字段应该是一个 datetime
对象。我找不到关于此 class 或其任何功能的任何资源,也没有找到一种方法来轻松格式化其字符串输出,例如 Date
object.
谢谢!
[编辑]从 How to convert date in RFC 3339 to the javascript date object(milliseconds since 1970) 看来 DateTime RFC 3339 字符串可以解析为 Date
对象,这应该可以解决问题。
如 Google Calendar resource documentation, the datetime is an RFC3339 格式的字符串中所述,例如
"1985-04-12T23:20:50.52Z"
事实上,Google Java 客户端库似乎有一个内置的 RFC3339 格式化程序,使这更容易。看到这个答案:How do I parse RFC 3339 datetimes with Java?
看起来您已经解决了这个问题,但我只想在这里分享我的解决方案,以防其他人发现它有用。
将 dateTime 添加到 Google 日历 API 似乎最容易实现,方法是操作 Date 对象直到它代表适当的 date/time 然后才调用 .toISOString()方法将其转换为 Google 日历 API
所需的格式也供参考 here 是我认为有用的时区列表
let startDateTime = new Date();
let finishDateTime = new Date();
finishDateTime.setTime(finishDateTime.getTime() + (1*60*60*1000));
const event = {
'summary': 'test event',
'start': {
'dateTime': startDateTime.toISOString(),
'timeZone': 'Australia/Melbourne'
},
'end': {
'dateTime': finishDateTime.toISOString(),
'timeZone': 'Australia/Melbourne'
}
};
const request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': event
});
request.execute(function(event) {
console.log('Event created: ' + event.htmlLink);
});