zoukankan      html  css  js  c++  java
  • python 时间加减

    # 时间加减,月/日
    import calendar
    import math
    
    def get_recent_month(dt, months):
        # 这里的months 参数传入的是正数表示往后推,负数表示往前推
        month = dt.month - 1 + months
        year = dt.year + math.floor(month / 12)
        month = month % 12 + 1
        day = min(dt.day, calendar.monthrange(year, month)[1])
        recent_date = datetime.date(year, month, day).strftime('%Y%m%d')
        return recent_date
    
    def get_recent_day(dt, days):
        # days 负数是向前推,正数是向后推
        # datetime.timedelta 两个时间之间的时间差
        delta = datetime.timedelta(days=days)
        # 获取delta前的时间
        beginPushDate = (dt + delta).strftime('%Y%m%d')
        return beginPushDate
    
    dt = datetime.datetime.strptime(str('20190101'), '%Y%m%d')
    # 当前日期前推3个月
    print(get_recent_month(dt, -3))
    # 当前日期后推3个月
    print(get_recent_month(dt, 3))
    # 当前日期前推3天
    print(get_recent_day(dt, -3))
    # 当前日期后推3天
    print(get_recent_day(dt, 3))
    #时间加减 周/日/时/分/毫秒
    import datetime
    
    print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
    print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-19
    print(datetime.datetime.now() )
    print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
    print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
    print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
    print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
    
    c_time  = datetime.datetime.now()
    print(c_time.replace(year=2019, month=3, day=20,hour=2, minute=3)) #时间替换
    import datetime
    import calendar
    import math
    
    def get_now_dateTime():
        '''
        获取当前时间 xx-xx-xx xx:xx:xx
        '''
        time_now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        return time_now
    
    def get_endLastYear(endDate):
        '''
        获取上年年末,'20190321'上一年年末是'20181231'
        :param endDate:
        :return:
        '''
        beginYear_temp = int(str(endDate)[0:4]) - 1
        beginYear = str(beginYear_temp) + '1231'
        return beginYear
    
    def get_beginYearDate(endDate):
        '''
        本年年初,'20190321'年初'20190101'
        :param endDate:
        :return:
        '''
        beginYear_temp = int(str(endDate)[0:4])
        beginYear = str(beginYear_temp) + '0101'
        return beginYear
    
    def get_beginPushDate(bizDate, days):
        '''
        获取beginDate的days天前的时间
        :param bizDate:
        :param days: days 负数是向前推,正数是向后推
        :return:
        '''
        dt = datetime.datetime.strptime(str(bizDate), '%Y%m%d')
        # datetime.timedelta 两个时间之间的时间差
        delta = datetime.timedelta(days=days)
        # 获取delta前的时间
        beginPushDate = (dt + delta).strftime('%Y%m%d')
        return beginPushDate
    
    def get_recent_month(bizDate, months):
        '''
        获取bizDate的months月前的时间
        :param bizDate:
        :param months: months 参数传入的是正数表示往后推,负数表示往前推
        :return:
        '''
        dt = datetime.datetime.strptime(str(bizDate), '%Y%m%d')
        month = dt.month - 1 + months
        year = dt.year + math.floor(month / 12)
        month = month % 12 + 1
        day = min(dt.day, calendar.monthrange(year, month)[1])
        recent_date = datetime.date(year, month, day).strftime('%Y%m%d')
        return recent_date
  • 相关阅读:
    解决UITableView中Cell重用机制导致内容出错的方法总结
    Hdu 1052 Tian Ji -- The Horse Racing
    Hdu 1009 FatMouse' Trade
    hdu 2037 今年暑假不AC
    hdu 1559 最大子矩阵
    hdu 1004 Let the Balloon Rise
    Hdu 1214 圆桌会议
    Hdu 1081 To The Max
    Hdu 2845 Beans
    Hdu 2955 Robberies 0/1背包
  • 原文地址:https://www.cnblogs.com/snailgirl/p/12216913.html
Copyright © 2011-2022 走看看