Google カレンダーでイベントが発生する曜日の名前を簡単に表示する方法はありますか? たとえば、次のように、日付の範囲内でイベントのリストを取得するとします。
events = service.events().list(calendarId='primary', timeMin='2012-12-24T00:00:00Z',
timeMax='2012-12-30T23:59:59Z').execute()
そのリスト内の特定のイベントを調べて、その日が何日かを調べる方法はありますか? 現在、Python のカレンダー モジュールと組み合わせた Google Calendar API の「date」と「dateTime」を含む厄介なハックを使用しています。
for calendar_list_entry in events['items']:
try:
year, month, day = calendar_list_entry['start']['date'].split('-')
dayNum = calendar.weekday(int(year), int(month), int(day))
print dayNum
dayName = createDayName(dayNum)
dayDict[dayName].append(calendar_list_entry['summary'])
print dayDict[dayName]
except:
print calendar_list_entry['start']['dateTime'][:10].split('-')
year, month, day = calendar_list_entry['start']['dateTime'][:10].split('-')
dayNum = calendar.weekday(int(year), int(month), int(day))
print dayNum
dayName = createDayName(dayNum)
dayDict[dayName].append(calendar_list_entry['summary'])
print dayDict[dayName]
createDayName 関数は単純です。
def createDayName(dayNum):
'''
Takes as input a number generated from calendar.weekday and outputs the weekday name
that is associated with that number.
'''
dayNameList = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
return dayNameList[dayNum]
確かにこれを行うための面倒でない方法はありますか?また、木曜から土曜など、複数の日にまたがるイベントでも深刻な問題に遭遇します。日を分割するためにばかげた計算を行うことができることはわかっていますが、そのような単純な操作にはもっと良い方法があるはずです.