如何格式化谷歌日历事件的日期时间输出?

0 投票
1 回答
1175 浏览
提问于 2025-04-18 08:57

我正在使用谷歌日历的API和谷歌的Python客户端库。我的代码可以获取在指定日期范围内的事件列表,但输出的格式不太对。以下是我的代码:这是输出结果:

page_token = None

while True:

    events = service.events().list(calendarId='primary',pageToken=page_token,
        timeMin='2014-06-03T00:00:00+05:30',
        timeMax='2014-06-05T00:00:00+05:30').execute()

    print 'Daterange for events in primary calendar:2014-06-03 and 2014-06-05'

    for event in events['items']:
        print event['summary']
        print event['start']
        print event['end']
    page_token = events.get('nextPageToken')
    if not page_token:
    break

非常感谢!

1 个回答

0
from  datetime import datetime

start = {u'dateTime': u'2014-06-03T09:00:00-04:00'}
end = {u'dateTime': u'2014-06-03T10:00:00-04:00'}

s = datetime.strptime(start['dateTime'],"%Y-%m-%dT%H:%M:%S-04:00")
e = datetime.strptime(end['dateTime'],"%Y-%m-%dT%H:%M:%S-04:00")

print "Start time: DATE: {} TIME: {}".format(s.date(),s.time().strftime( "%I:%M %p" ))
print "End time: DATE: {} TIME: {}".format(e.date(),e.time().strftime( "%I:%M %p"))

Start time: DATE: 2014-06-03 TIME: 09:00 AM
End time: DATE: 2014-06-03 TIME: 10:00 AM

如果你在日期中真的需要用到 / 符号:

print "End time: DATE: {} TIME: {}".format(e.date().strftime( "%Y/%m/%d"),e.time().strftime( "%I:%M %p"))

End time: DATE: 2014/06/03 TIME: 10:00 AM

撰写回答