日期的校验

做财务的需求以来,会对date字段做校验,我总结下自己的方式;【略微有点大题小作了】

个人博客:https://blog.csdn.net/zyooooxie

在这里插入图片描述

day in 某月

在这里插入图片描述
情景是:某个页面已经固定死了 Date为某个月,我要如何对下面的记录 做date字段的校验呢?

        m_first, m_last = self.month_first_last(test_month)
        assert zy['date'] in self.date_list(m_first, m_last)

思路为:已知Date为某个月,拿到当月第一天、最后一天,断言 date字段值 在date_list(第一天,最后一天);

月份 in month_range

在这里插入图片描述

情景是:已经选定某个时间搜索段month_range,搜出来的结果要如何校验Month字段呢?

        st = datetime.datetime.strptime(start_month, '%Y-%m')
        en = datetime.datetime.strptime(end_month, '%Y-%m')
        assert st <= datetime.datetime.strptime(zy['month'], '%Y-%m') <= en

思路为:把时间搜索段month_range的起始、结束月份、Month字段值转为 datetime格式,对其进行大小比较

day in day_range

在这里插入图片描述
情景是:已经选定某个搜索时间段day_range,如何校验字段Date?

        st = datetime.datetime.strptime(start_day, '%Y-%m-%d')
        en = datetime.datetime.strptime(end_day, '%Y-%m-%d')
        date = datetime.datetime.strptime(zy['transactionDate'], '%Y-%m-%d')
        assert date <= en
        assert date >= st
        assert zy['transactionDate'] in self.date_list(start_day, end_day)

思路:把时间搜索段day_range的起始、结束、Date字段值转为 datetime格式,对其进行大小比较; 断言 date字段值在date_list(起始,结束);

之所以分享关于date的校验,其实是我对数据来源有深深不安感;我是真的不想看到生产环境的异常数据,只能尽力去用我的方式来检查;

交流技术 欢迎+ QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值