python 获取几小时之前,几分钟前,几天前,几个月前,及几年前的具体时间

  引入以下两个包:

  import datetime

  import arrow

  具体代码

# import datetime
    # import arrow
    def getTime(self, flag,dayhourminute):
        '''
        获取几小时之前,几分钟前,几天前,几个月前,及几年前的具体时间 flag, 1:天;2:小时;3:分钟;4:月,5:年
        :param flag: 1:天;2:小时;3:分钟;4:月,5:年
        :param dayhourminute: 整数值
        :return: 具体时间 %Y-%m-%d %H:%M:%S
        '''
        tn = datetime.datetime.now()
        t = None
        ttime =''
        if flag <= 1:
            if flag == 1:
                t = datetime.timedelta(days=dayhourminute)
            elif flag == 2:
                t = datetime.timedelta(hours=dayhourminute)
            elif flag == 3:
                t = datetime.timedelta(minutes=dayhourminute)
            strtime = tn - t
            ttime = strtime.strftime('%Y-%m-%d %H:%M:%S')
        else:
            dt = arrow.now()
            if flag == 4:
                ttime = dt.shift(months=-dayhourminute).format("YYYY-MM-DD HH:MM:SS")
            elif flag == 5:
                ttime = str(int(datetime.datetime.now().strftime("%Y"))-dayhourminute)+"-"+datetime.datetime.now().strftime("%m-%d")
        return  ttime

 

posted on 2018-12-06 13:43  shaomine  阅读(7302)  评论(0编辑  收藏  举报