相关疑难解决方法(0)

在python中,如何检查日期是否有效?

我正在构建一种日历网络应用程序

我在HTML中设置了以下表单

<form action='/event' method='post'>
Year ("yyyy"):  <input type='text' name='year' />
Month ("mm"):  <input type='text' name='month' />
Day ("dd"):  <input type='text' name='day' />
Hour ("hh"):  <input type='text' name='hour' />
Description:  <input type='text' name='info' />
             <input type='submit' name='submit' value='Submit'/>
</form>
Run Code Online (Sandbox Code Playgroud)

然后,来自用户的输入被提交到一个樱桃服务器中

我想知道,有没有办法检查用户输入的日期是否是有效日期?

显然我可以编写很多if语句,但有没有内置函数可以检查这个?

谢谢

python validation time date

21
推荐指数
6
解决办法
5万
查看次数

Django 日期时间未正确验证

我正在使用 HTML5datetime-local输入类型尝试将一些日期时间数据放入我的数据库中。

ModelForm class Meta:如下所示:

class Meta:
    model = ScheduleEntry
    fields = ['calendar', 'title', 'start', 'end', 'assets', 'users']

    widgets = {
        'calendar': forms.Select(attrs={
            'class': 'fom-control chosen-select'
        }),
        'title': forms.TextInput(attrs={
            'class': 'form-control'
        }),
        'start': forms.DateTimeInput(attrs={
            'type':'datetime-local',
            'class':'form-control'
        }, format='%Y-%m-%dT%H:%M'),
        'end': forms.DateTimeInput(attrs={
            'type': 'datetime-local',
            'class': 'form-control'
        }, format='%Y-%m-%dT%H:%M'),
        'assets': forms.SelectMultiple(attrs={
            'class': 'form-control chosen-select'
        }),
        'users': forms.SelectMultiple(attrs={
            'class': 'form-control chosen-select',
        })

    }
Run Code Online (Sandbox Code Playgroud)

我一直未能通过表单验证,这让我不得不拔头发。这是显示它应该可以工作的文档页面,但看起来我遗漏了什么?

编辑澄清:

该错误消息是两个startend与它的Enter a valid date/time

python django datetime datetime-format

5
推荐指数
1
解决办法
2769
查看次数

熊猫验证日期格式

有没有什么好方法可以验证数据框列中的所有项目都有有效的日期格式?

我的日期格式是11-Aug-2010.

我看到了这个通用答案,其中:

try:
    datetime.datetime.strptime(date_text, '%Y-%m-%d')
except ValueError:
    raise ValueError("Incorrect data format, should be YYYY-MM-DD")
Run Code Online (Sandbox Code Playgroud)

来源:https://stackoverflow.com/a/16870699/1374488

但我认为在我的情况下这不好(有效).

我假设我必须首先将字符串修改为pandas日期,如下所述: 将字符串日期时间转换为pandas datetime

我是Python世界的新手,任何想法都赞赏.

python datetime pandas

3
推荐指数
2
解决办法
3949
查看次数

Django REST“GET”查询参数序列化器

我想接收带有查询参数(如果存在)的获取查询和过滤数据集。我目前正在使用下面列出的愚蠢方法。在这种情况下,我不喜欢它没有检查日期是否实际上可以被解析。在另一种方法中,我可能只想接收可以解析为 int 的数字字符串。有没有一些很酷的Pythonic方法可以做到这一点,而无需编写一堆样板代码?

class TrackList(APIView):

    @token_required
    def get(self, request, pk, **kwargs):
        # read query params
        date_from = self.request.query_params.get('date_from')
        date_to = self.request.query_params.get('date_to')
        # if present then filter
        if date_from and date_to:
            points = Track.objects.filter(user_id=pk, date__range=[date_from, date_to])
        # otherwise don't filter
        else:
            points = Track.objects.filter(user_id=pk)
        points.order_by('date')
        serializer = TrackListSerializer(points, many=True)
        return Response(serializer.data, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)

UPD:问题实际上不是关于dateutil.parser,而是关于通用查询参数解析器。也许我应该使用 Django Rest 序列化器?

python django

2
推荐指数
1
解决办法
5708
查看次数

用于识别不同日期格式的正则表达式

我必须使用正则表达式从字符串中识别出不同的日期格式,如下所示。

date can contain 21/12/2018
or 12/21/2018
or 2018/12/21
or 12/2018
or 21-12-2018
or 12-21-2018
or 2018-12-21
or 21-Jan-2018
or Jan 21,2018
or 21st Jan 2018
or 21-Jan-2018
or Jan 21,2018
or 21st Jan 2018
or Jan 21, 2018
or Jan 21, 2018
or 2018 Dec. 21
or 2018 Dec 21
or 21st of Jan 2018
or 21st of Jan 2018
or Jan 2018
or Jan 2018
or Jan. 2018
or Jan, 2018
or 2018
[should recognize (year only), (year …
Run Code Online (Sandbox Code Playgroud)

python regex python-regex

0
推荐指数
1
解决办法
62
查看次数