我将taskwarrior用作任务管理器,并希望将任务转换为日历中的事件 .ics
使用python的fformat(ical)( ics
Package )。
如果我运行以下代码:
from ics import Calendar, Event
import json
task1 = {'description': 'blabla', 'scheduled': '20210730T220000Z' }
task2 = {'description': 'blabla', 'scheduled': '2021-07-30T00:00' }
task = task1
if __name__ == "__main__":
c = Calendar()
print(task)
e = Event()
e.name = task['description']
e.begin = task['scheduled']
c.events.add(e)
这给我带来了一个错误:
arrow.parser.ParserError: Could not match input to any of ['YYYY-MM-DDTHH:mm'] on '20210730T220000Z'
如果我更换,没有问题 task = task1
通过 task = task2
. 我怀疑json的时区格式不受 ics
. 是否有一种简单的转换方法/程序包 20210730T220000Z
符合格式 2021-07-30T00:00
?
在@mkrieger1的评论和链接后编辑n°1,我尝试了以下操作但未成功:
import datetime
task1 = {'description': 'blabla', 'scheduled': '20210730T220000Z' }
task2 = {'description': 'blabla', 'scheduled': '2021-07-30T00:00' }
print(task1["scheduled"])
dt = datetime.datetime.strptime(task1["scheduled"], 'YYYY-MM-DDTHH:mm').strftime('YYYY-MM-DDTHH:mm')
print(dt)
编辑编号2:这最终奏效了:
import datetime
task1 = {'description': 'blabla', 'scheduled': '20210730T220000Z' }
task2 = {'description': 'blabla', 'scheduled': '2021-07-30T00:00' }
print(task1["scheduled"])
dt = datetime.datetime.strptime(task1["scheduled"], "%Y%m%dT%H%M%S%fZ")
print(dt)
暂无答案!
目前还没有任何答案,快来回答吧!