python关于时间,日期的各种表达

# -*- coding: UTF-8 -*-
import datetime
import calendar

# 今日日期
today = datetime.datetime.strftime(datetime.datetime.now(), "%Y-%m-%d")
# 前30天的日期
last_30_day2 = datetime.datetime.today() - datetime.timedelta(days=29)
# 转换为字符串
last_30_day = datetime.datetime.strftime(last_30_day2, "%Y-%m-%d")

# 前7天的日期
last_7_day2 = datetime.datetime.today() - datetime.timedelta(days=6)
# 转换为字符串
last_7_day = datetime.datetime.strftime(last_7_day2, "%Y-%m-%d")

# 未来第5天的日期
dating5 = datetime.datetime.today() + datetime.timedelta(days=5)
# 转换为字符串
date5 = datetime.datetime.strftime(dating5, "%Y-%m-%d")

# 未来第6天的日期
dating6 = datetime.datetime.today() + datetime.timedelta(days=6)
# 转换为字符串
date6 = datetime.datetime.strftime(dating6, "%Y-%m-%d")

# 明天的日期
tomorrow2 = datetime.datetime.today() + datetime.timedelta(days=1)
# 转换为字符串
tomorrow = datetime.datetime.strftime(tomorrow2, "%Y-%m-%d")

# 半年
last_180_day2 = datetime.datetime.today() - datetime.timedelta(days=179)
last_180_day = datetime.datetime.strftime(last_180_day2, "%Y-%m-%d")

# 上周周一和周日的日期
now = datetime.datetime.now()
last_week_start2 = now - datetime.timedelta(days=now.weekday() + 7)
# 换为字符
last_week_start = datetime.datetime.strftime(last_week_start2, "%Y-%m-%d")
last_week_end2 = now - datetime.timedelta(days=now.weekday() + 1)
last_week_end = datetime.datetime.strftime(last_week_end2, "%Y-%m-%d")

# 获取现在的时间
# 获取本周周一和周日的时间
def get_current_week():
    monday, sunday = datetime.date.today(), datetime.date.today()
    one_day = datetime.timedelta(days=1)
    while monday.weekday() != 0:
        monday -= one_day
    while sunday.weekday() != 6:
        sunday += one_day

    monday2 = datetime.datetime.strftime(monday, "%Y-%m-%d")
    sunday2 = datetime.datetime.strftime(sunday, "%Y-%m-%d")
    return monday2, sunday2


# 获取下个月第一天时间,每月充值活动用
year = datetime.datetime.today().year
month = datetime.datetime.today().month
if month == 12:
    month = 1
    year += 1
else:
    month += 1
next_month = datetime.datetime(year, month, 1)

# 获取今天的时间
now = datetime.datetime.now()
# 获取本月最后一天时间
this_month_end = datetime.datetime(now.year, now.month, calendar.monthrange(now.year, now.month)[1])
# 判断今天与本月最后一天相隔时间
if (this_month_end - now).days >= 7:
    # 第1天日期(用于每月充值活动)
    next_1_day = datetime.datetime.strftime(now, "%Y-%m-%d")
    # 第2天日期
    next_2_day = datetime.datetime.strftime((now + datetime.timedelta(days=1)), "%Y-%m-%d")
    # 第3天日期
    next_3_day = datetime.datetime.strftime((now + datetime.timedelta(days=2)), "%Y-%m-%d")
    # 第4天日期
    next_4_day = datetime.datetime.strftime((now + datetime.timedelta(days=3)), "%Y-%m-%d")
    # 第5天日期
    next_5_day = datetime.datetime.strftime((now + datetime.timedelta(days=4)), "%Y-%m-%d")
    # 第6天日期
    next_6_day = datetime.datetime.strftime((now + datetime.timedelta(days=5)), "%Y-%m-%d")
    # 第7天日期
    next_7_day = datetime.datetime.strftime((now + datetime.timedelta(days=6)), "%Y-%m-%d")
    # 第8天日期
    next_8_day = datetime.datetime.strftime((now + datetime.timedelta(days=7)), "%Y-%m-%d")
else:
    # 第8天日期(用于每月充值活动)
    next_8_day = datetime.datetime.strftime(now, "%Y-%m-%d")
    # 第7天日期
    next_7_day = datetime.datetime.strftime((now - datetime.timedelta(days=1)), "%Y-%m-%d")
    # 第6天日期
    next_6_day = datetime.datetime.strftime((now - datetime.timedelta(days=2)), "%Y-%m-%d")
    # 第5天日期
    next_5_day = datetime.datetime.strftime((now - datetime.timedelta(days=3)), "%Y-%m-%d")
    # 第4天日期
    next_4_day = datetime.datetime.strftime((now - datetime.timedelta(days=4)), "%Y-%m-%d")
    # 第3天日期
    next_3_day = datetime.datetime.strftime((now - datetime.timedelta(days=5)), "%Y-%m-%d")
    # 第2天日期
    next_2_day = datetime.datetime.strftime((now - datetime.timedelta(days=6)), "%Y-%m-%d")
    # 第1天日期
    next_1_day = datetime.datetime.strftime((now - datetime.timedelta(days=7)), "%Y-%m-%d")


# 今日日期
today = datetime.datetime.strftime(datetime.datetime.now(), "%Y-%m-%d")

# 昨天
yesterday2 = datetime.datetime.today() - datetime.timedelta(days=-1)
# 转换为字符串
yesterday = datetime.datetime.strftime(yesterday2, "%Y-%m-%d")

# 未来30天的日期
last_30_day2 = datetime.datetime.today() - datetime.timedelta(days=30)
# 转换为字符串
last_30_day = datetime.datetime.strftime(last_30_day2, "%Y-%m-%d")

# # 未来一天的时间
# next_1_day2 = datetime.datetime.today() + datetime.timedelta(days=1)
# # 转换为字符串
# next_1_day = datetime.datetime.strftime(next_1_day2, "%Y-%m-%d")
#
# # *********
# next_2_day2 = datetime.datetime.today() + datetime.timedelta(days=2)
# # 转换为字符串
# next_2_day = datetime.datetime.strftime(next_2_day2, "%Y-%m-%d")
#
# # **********
# next_3_day2 = datetime.datetime.today() + datetime.timedelta(days=3)
# # 转换为字符串
# next_3_day = datetime.datetime.strftime(next_3_day2, "%Y-%m-%d")
#
# # *******
# next_4_day2 = datetime.datetime.today() + datetime.timedelta(days=4)
# # 转换为字符串
# next_4_day = datetime.datetime.strftime(next_4_day2, "%Y-%m-%d")
#
# # ********
# next_5_day2 = datetime.datetime.today() + datetime.timedelta(days=5)
# # 转换为字符串
# next_5_day = datetime.datetime.strftime(next_5_day2, "%Y-%m-%d")
#
# # *******
# next_6_day2 = datetime.datetime.today() + datetime.timedelta(days=6)
# # 转换为字符串
# next_6_day = datetime.datetime.strftime(next_6_day2, "%Y-%m-%d")
#
# next_7_day2 = datetime.datetime.today() + datetime.timedelta(days=7)
# # 转换为字符串
# next_7_day = datetime.datetime.strftime(next_7_day2, "%Y-%m-%d")

# 前15天的日期
last_15_day2 = datetime.datetime.today() - datetime.timedelta(days=14)
# 转换为字符串
last_15_day = datetime.datetime.strftime(last_15_day2, "%Y-%m-%d")

# 获取当月第一天的日期
year = datetime.datetime.today().year
month = datetime.datetime.today().month
month_1_day = datetime.datetime(year, month, 1)
month_first_day = datetime.datetime.strftime(month_1_day, "%Y-%m-%d")


def today_start_time():
    # 获取当天的零点
    now = datetime.datetime.now()
    begin_time = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second,
                                          microseconds=now.microsecond)
    return begin_time


def before_30_day():
    # 前30天的日期
    before_30_day2 = datetime.datetime.today() - datetime.timedelta(days=-30)
    # 转换为字符串
    before_ = datetime.datetime.strftime(before_30_day2, "%Y-%m-%d %H:%M:%S")

    return before_


def today_end_time():
    # 获取当天的23:59:00
    now = datetime.datetime.now()
    zeroToday = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second,
                                         microseconds=now.microsecond)
    # 获取23:59:59
    end_time = zeroToday + datetime.timedelta(hours=23, minutes=59, seconds=59)

    return end_time


def current_time():
    # 获取当前时间
    now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    return now


def yesterday_time():
    # 获取当前时间
    yesterday0 = (datetime.datetime.now() + datetime.timedelta(days=-1)).strftime('%Y-%m-%d %H:%M:%S')
    return yesterday0


def year_half_time():
    # 获取当前时间
    year_half = (datetime.datetime.now() + datetime.timedelta(days=-180)).strftime('%Y-%m-%d %H:%M:%S')
    return year_half

# 今天 近7日 近15日,本月
def get_time_array():
    return [['%s' % today, '%s' % today], ['%s' % last_7_day, '%s' % today], ['%s' % last_15_day, '%s' % today],
            ['%s' % month_first_day, '%s' % today]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值