#!/usr/bin/python3.6 # -*- coding: utf-8 -*- # # Copyright (C) 2022 # # @Time : 2022/3/26 16:20 # @Author : ming # @Email : zhangdongming@asj6.wecom.work # @File : LocalDateTimeUtil.py # @Software: PyCharm import datetime import time def get_last_first_date_and_last_date(n): """ 获取前n周开始时间和结束时间,参数n:代表前n周 """ now = datetime.datetime.now() # 上周第一天和最后一天 before_n_week_start = now - datetime.timedelta(days=now.weekday() + 7 * n, hours=now.hour, minutes=now.minute, seconds=now.second, microseconds=now.microsecond) # last_week_end = now - timedelta(days=now.weekday() + 1) before_n_week_end = before_n_week_start + datetime.timedelta(days=6, hours=23, minutes=59, seconds=59) return before_n_week_start, before_n_week_end def get_today_date(timestamp=False): """ 返回当天开始时间和结束时间 Args: timestamp 是否返回时间戳 returns: zero_today ,last_today """ now = datetime.datetime.now() zero_today = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second, microseconds=now.microsecond) last_today = zero_today + datetime.timedelta(hours=23, minutes=59, seconds=59) if timestamp: zero_today = int(time.mktime(zero_today.timetuple())) last_today = int(time.mktime(last_today.timetuple())) return zero_today, last_today return zero_today, last_today def get_last_month(): """ 获取前一个月时间 returns: last_month_date """ today = datetime.date.today() # 1. 获取「今天」 last_month = today.replace(month=today.month - 1) # 2.获取前一个月 last_month_date = last_month.strftime("%Y-%m-%d %H:%M:%S") return last_month_date def date_to_week(str_date): """ 日期获取星期几 @param str_date 日期 例:2022-03-03 @return: int 1-7 """ if str_date: return datetime.datetime.strptime(str_date, "%Y-%m-%d").weekday() + 1 return datetime.datetime.now().weekday() + 1 if __name__ == "__main__": now_time = 1650211200 local_date_now = str(datetime.datetime.fromtimestamp(now_time).date()) print(now_time) print(local_date_now) week = date_to_week(local_date_now) print(week) dd = datetime.date.today() print(type(dd)) dd = str(dd) print(type(dd)) week = date_to_week('2022-03-03') print(week) start_time, end_time = get_today_date(True) print('--- start_time = {} end_time = {}'.format(start_time, end_time))