Python Django icalendar dtstart日期时间问题

Python Django icalendar dtstart日期时间问题,python,django,icalendar,Python,Django,Icalendar,我有一个事件程序的Django python表单。我试图用icalendar为事件创建一个ics文件,为此,我想从表单中的变量“starttime”和“endtime”获取值“dtstart”和“dtend”,但我得到的代码是:错误的日期时间格式。有人对解决这个问题有什么建议吗 错误 代码 提前感谢,我正在学习python,所以我没有太多经验。将日期时间重新格式化为RFC5545格式之一。有关日期时间格式,请参阅RFC5545规范说明: 有3种公认的日期时间格式: 本地或“浮动”例如:19980

我有一个事件程序的Django python表单。我试图用icalendar为事件创建一个ics文件,为此,我想从表单中的变量“starttime”和“endtime”获取值“dtstart”和“dtend”,但我得到的代码是:错误的日期时间格式。有人对解决这个问题有什么建议吗

错误

代码


提前感谢,我正在学习python,所以我没有太多经验。

将日期时间重新格式化为RFC5545格式之一。有关日期时间格式,请参阅RFC5545规范说明:

有3种公认的日期时间格式:

  • 本地或“浮动”例如:19980118T230000
  • 带有UTC时间的日期,例如:19980119T070000Z和
  • 带有本地时间和时区参考的日期,例如: TZID=美国/纽约:19980119020000

  • 请发布实际错误。实际错误如下:ValueError at/event错误日期时间格式:2020-10-07T22:28请求方法:发布请求URL:Django版本:3.1.1异常类型:ValueError异常值:错误日期时间格式:2020-10-07T22:28 Hanks,@anmari,根据您的建议,我解决了问题。我做了以下几件事:1。我已将datetime.strTime应用于当前的datetime startdate=datetime.strTime(startdate,“%Y-%m-%dT%H:%m”)2。我使用RFC5545格式startdate=startdate.strftime(“%Y%m%dT%H%m%S”)之一格式化了该字段
                elif not ical[15:]:
                    return datetime(*timetuple)
                elif ical[15:16] == 'Z':
                    return pytz.utc.localize(datetime(*timetuple))
                else:
                    raise ValueError(ical)
            except:
                raise ValueError('Wrong datetime format: %s' % ical) …
    class vDuration(object):
        """Subclass of timedelta that renders itself in the iCalendar DURATION
        format.
        """
    
    def event(request, id=None):
        instance = Event_cal()
        
        if id:
            instance = get_object_or_404(Event_cal, pk=id)
        else:
            instance = Event_cal()
    
        form = EventForm(request.POST or None, instance=instance)
        if request.POST and form.is_valid():
            form.save()
            
            startdate = request.POST.get('starttime')
            endate = request.POST.get('endtime')
    
            event = Event()
            event.add('summary', 'My Summary')
            event.add('dtstart', vDatetime.from_ical(startdate))
            event.add('dtend', vDatetime.from_ical(endate))