日期的校验

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

在这里插入图片描述

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章