class TimeField(DateTimeField): """ Same as DateTimeField, except stores a `time`. """ widget = widgets.TimeInput() def __init__(self, label=None, validators=None, format="%H:%M", **kwargs): super().__init__(label, validators, format, **kwargs) def process_formdata(self, valuelist): if valuelist: time_str = " ".join(valuelist) try: self.data = datetime.datetime.strptime(time_str, self.format).time() except ValueError: self.data = None raise ValueError(self.gettext("Not a valid time value."))
class TimeField(DateTimeField): """ Same as :class:`~wtforms.fields.DateTimeField`, except stores a :class:`datetime.time`. """ widget = widgets.TimeInput() def __init__(self, label=None, validators=None, format="%H:%M", **kwargs): super().__init__(label, validators, format, **kwargs) def process_formdata(self, valuelist): if not valuelist: return time_str = " ".join(valuelist) for format in self.strptime_format: try: self.data = datetime.datetime.strptime(time_str, format).time() return except ValueError: self.data = None raise ValueError(self.gettext("Not a valid time value."))