|  | # -*- coding: utf-8 -*-
import time
from odoo import api, models, tools, _
from datetime import datetime, timedelta
import logging
_logger = logging.getLogger(__name__)
class WecomApiToolsDatetime(models.AbstractModel):
    _name = "wecomapi.tools.datetime"
    _description = "Wecom API Tools - Datetime"
    def timestamp2datetime(self, time_stamp):
        """
        时间戳转日期时间
        """
        if len(str(time_stamp)) > 10:
            # 一般爬取下来的时间戳长度都是13位的数字,而time.localtime的参数要的长度是10位,所以我们需要将其/1000并取整即可
            time_stamp = int(time_stamp / 1000)
        loc_time = time.localtime(time_stamp)
        return time.strftime("%Y-%m-%d %H:%M:%S", loc_time)
    def cheeck_days_overdue(self, datetime_start, maxday):
        """[summary]
        检查天数是否超期
        Args:
            datetime_start_str ([type]): [description]
            datetime_end_str ([type]): [description]
            maxday ([type]): [description] 天数
        Returns:
            True: 超期
            False:未超期
        """
        now = datetime.now()
        # print(now - datetime_start)
        if datetime_start > (now - timedelta(days=maxday)):
            return False
        else:
            return True
    def cheeck_hours_overdue(self, datetime_start, maxhour):
        """[summary]
        检查小时是否超期
        Args:
            datetime_start_str ([type]): [description]
            datetime_end_str ([type]): [description]
            maxhour ([type]): [description] 小时
        Returns:
            True: 超期
            False:未超期
        """
        now = datetime.now()
        if datetime_start > (now - timedelta(hours=maxhour)):
            return False
        else:
            return True
    def cheeck_minutes_overdue(self, datetime_start, maxminute):
        """[summary]
        检查分钟是否超期
        Args:
            datetime_start_str ([type]): [description]
            datetime_end_str ([type]): [description]
            maxminute ([type]): [description] 分钟
        Returns:
            True: 超期
            False:未超期
        """
        now = datetime.now()
        if datetime_start > (now - timedelta(minutes=maxminute)):
            return False
        else:
            return True
 |