日期的校驗

做財務的需求以來,會對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

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