Python生成GMT时间格式以及时间戳日期等

一、datetime生成GMT时间格式

  • 案例: js当中生成的格式如下new Date()+Math.random(1000)
  • 'Sat Apr 30 2022 15:03:40 GMT+0800 (中国标准时间)0.25518323366967754'
    在这里插入图片描述
  • python代码如下生成如下
    from datetime import datetime
    import random
    
    gmt_format = '%a %b %d %Y %H:%M:%S GMT+0800 (中国标准时间)'
    print(datetime.now().strftime(gmt_format) + str(random.random()))
    # Sat Apr 30 2022 15:06:03 GMT+0800 (中国标准时间)0.23243302776998054
    

二、python将时间戳与日期格式化互相转换

  • python将时间戳格式化成日期
    import time
    
    
    time_stamp = int(time.time())  # 10位长度时间戳
    format_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_stamp))
    print(format_time)  # 2022-04-30 15:15:36
    
  • python将日期转换为时间戳
    import time
    
    
    time_arr = time.strptime('2019-06-03 21:19:03', "%Y-%m-%d %H:%M:%S")
    time_tmp = time.mktime(time_arr)  # 时间戳
    print(int(time_tmp))
    

三、python生成一定范围的日期集合

  • 比如生成前几天的日期
    import datetime
    
    
    def set_date_range(days_num):
        """
        设置日期范围
        :return:返回日期列表,类似这种:['2019-09-10', '2019-09-09', '2019-09-08']
        """
        date_range = list()
        for num in range(days_num):
            str_day = str(datetime.date.today() - datetime.timedelta(days=num))
            date_range.append(str_day)
        return date_range
    
    
    print(set_date_range(5))
    # ['2022-04-30', '2022-04-29', '2022-04-28', '2022-04-27', '2022-04-26']
    

四、python生成一定今天/昨天/明天的日期

  • 通过datetime.timedelta()来加减日期
    import datetime
    
    
    _days_num = 1
    _days_num = 1
    # 今天
    now_date = str(datetime.date.today())
    print(now_date)
    # 昨天
    before_date = str(datetime.date.today() - datetime.timedelta(days=_days_num))
    print(before_date)
    # 明天
    after_date = str(datetime.date.today() + datetime.timedelta(days=_days_num))
    print(after_date)
    

五、python将excel的日期数字42380格式化

  • 格式化excel里面的数字日期格式
    import datetime
    
    
    def conversion_date(dates: int):
        """
        定义转化日期戳的函数,dates为excel日期数字42380
        :param dates:
        :return:
        """
        delta = datetime.timedelta(days=dates)
        # 将1899-12-30转化为可以计算的时间格式并加上要转化的日期戳
        today = datetime.datetime.strptime('1899-12-30', '%Y-%m-%d') + delta
        return datetime.datetime.strftime(today, '%Y-%m-%d')
    
    
    print(conversion_date(42380))  # 2016-01-11
    
    
    

六、python比较两个日期大小

  • 比较日期大小先格式化

    import datetime
    
    
    def diff_time(time_1, time_2, fmt='%Y-%m-%d'):
        """
        比较两个日期大小
        :param time_1: 日期 2019-01-11
        :param time_2: 日期 2019-01-11
        :param fmt: 日期格式
        :return: time_1 大于 time_2 则返回True
        """
        if datetime.datetime.strptime(time_1, fmt) > datetime.datetime.strptime(time_2, fmt):
            return True
        # return False
    
    
    print(diff_time('2019-01-11', '2022-01-11'))
    print(diff_time('2024-01-11', '2022-01-11'))
    
  • 或者按前面的转换成时间戳比较大小

    import time
    
    
    time_arr = time.strptime('2019-06-03 21:19:03', "%Y-%m-%d %H:%M:%S")
    time_tmp = time.mktime(time_arr)  # 时间戳
    print(int(time_tmp))
    

猜你喜欢

转载自blog.csdn.net/weixin_43411585/article/details/124513166