import datatime
date = datetime.datetime.now()

当天:

newdate = datetime.datetime.now()
condtions = {'datadate': newdate}

昨天:
newdate = date + datetime.timedelta(days=-1)
condtions = {'datadate': newdate}

date = '2022-10-19'字符串转时间在转字符串

newdate = datetime.datetime.strptime(date, "%Y-%m-%d")
newdate = newdate+ datetime.timedelta(days=-1)
str_date = newdate.strftime('%Y-%m-%d')

本周初:
newdate = now - datetime.timedelta(days=now.weekday())
condtions = {'datadate': newdate}

本周末:
newdate = now + datetime.timedelta(days=6 - now.weekday())
condtions = {'datadate': newdate}

上周初:
newdate = now - datetime.timedelta(days=now.weekday() + 7)
condtions = {'datadate': newdate}

上周末:
newdate = now - datetime.timedelta(days=now.weekday() + 1)
condtions = {'datadate': newdate}

月初:
newdate = date.replace(day=1)
condtions = {'datadate': newdate}

月末:
year = date.year
month = date.month
a, b = calendar.monthrange(year, month)           # a,b——weekday的第一天是星期几(0-6对应星期一到星期天)和这个月的所有天数
newdate = datetime.datetime(year=year, month=month, day=b) # 构造本月月末datetime
condtions = {'datadate': newdate}

上月末:
date_now = date.replace(day=1)
newdate = date_now + datetime.timedelta(days=-1)
condtions = {'datadate': newdate}

上月初:
date_now = date.replace(day=1)
date_now = date_now + datetime.timedelta(days=-1)
newdate = datetime.datetime(date_now.year, date_now.month, 1)
condtions = {'datadate': newdate}

年初:
newdate = date.replace(month=1, day=1)
condtions = {'datadate': newdate}

年末:
newdate = date.replace(month=12, day=31)
condtions = {'datadate': newdate}

去年初:
newdate = date.replace(month=1, day=1)
newdate = newdate + datetime.timedelta(days=-1)
newdate = datetime.datetime(newdate.year, 1, 1)
condtions = {'datadate': newdate}

去年末:
newdate = date.replace(month=1, day=1)
newdate = newdate + datetime.timedelta(days=-1)
condtions = {'datadate': newdate}

季初:
month = (date.month - 1) - (date.month - 1) % 3 + 1
newdate = datetime.datetime(date.year, month, 1)
condtions = {'datadate': newdate}

季末:
month = (date.month - 1) - (date.month - 1) % 3 + 1
if month == 10:
  newdate = datetime.datetime(date.year + 1, 1, 1) + datetime.timedelta(days=-1)
else:
  newdate = datetime.datetime(date.year, month + 3, 1) + datetime.timedelta(days=-1)
condtions = {'datadate': newdate}

上季初:
month = (date.month - 1) - (date.month - 1) % 3 + 1
newdate = datetime.datetime(date.year, month, 1)
newdate = newdate + datetime.timedelta(days=-1)
newdate = datetime.datetime(newdate.year, newdate.month - 2, 1)
condtions = {'datadate': newdate}

上季末:
month = (date.month - 1) - (date.month - 1) % 3 + 1 # 10
newdate = datetime.datetime(date.year, month, 1)
newdate = newdate + datetime.timedelta(days=-1)
condtions = {'datadate': newdate}

半年初:
month = (date.month - 1) - (date.month - 1) % 6 + 1
newdate = datetime.datetime(date.year, month, 1)
condtions = {'datadate': newdate}

半年末:
month = (date.month - 1) - (date.month - 1) % 6 + 1
if month == 7:
  newdate = datetime.datetime(date.year + 1, 1, 1) + datetime.timedelta(days=-1)
else:
  newdate = datetime.datetime(date.year, month + 6, 1) + datetime.timedelta(days=-1)
condtions = {'datadate': newdate}

上个半年初:
month = (date.month - 1) - (date.month - 1) % 6 + 1
newdate = datetime.datetime(date.year, month, 1)
newdate = newdate + datetime.timedelta(days=-1)
newdate = datetime.datetime(newdate.year, newdate.month - 5, 1)
condtions = {'datadate': newdate}

上个半年末:
month = (date.month - 1) - (date.month - 1) % 6 + 1
newdate = datetime.datetime(date.year, month, 1)
newdate = newdate + datetime.timedelta(days=-1)
condtions = {'datadate': newdate}

月平均值:
ms_newdate = date.replace(day=1)
me_newdate = date
new_date = (ms_newdate, me_newdate)

季平均值:
month = (date.month - 1) - (date.month - 1) % 3 + 1
ss_newdate = datetime.datetime(date.year, month, 1)
se_newdate = date
new_date = (ss_newdate, se_newdate)

半年平均值:
month = (date.month - 1) - (date.month - 1) % 6 + 1
hs_newdate = datetime.datetime(date.year, month, 1)
he_newdate = date
new_date = (hs_newdate, he_newdate)

年均值:
ys_newdate = date.replace(month=1, day=1)
ye_newdate = date
new_date = (ys_newdate, ye_newdate)

if condtions:
  query_res = Entry.objects.filter(**condtions).filter().exclude()
if new_date:
  query_res = Entry.objects.filter(datadate__range=new_date).filter().exclude()

Python时间计算:当天、前一天、月初、月末、季初、季末相关推荐

  1. SQLServer 自定义函数 日期计算月初/月末/年初/年末/季初/季末

    SQLServer 2005,SQLServer 2008,SQLServer 2014,SQLServer 2017 均可使用 alter function dbo.date_calc (@date ...

  2. python时间计算_日期天数差计算(Python)

    描述 从json文件中读取两个时间数据(数据格式例如:2019.01.01,数据类型是字符串),并计算结果,打印出两个时间间隔了多少天. 输入/输出描述 输入描述 json文件名称datetime.j ...

  3. python时间计算_python 计算一年内的所有周的具体日期详解

    #!/usr/bin/env python # -*- coding:utf-8 -*- import datetime import collections def date_list_fun(st ...

  4. python时间计算_python时间运算

    我们用下面的方式来取得当前时间的时间戳: importtimeprinttime.time() 输出的结果是: 1285041535.86 这个结果是1970年到现在时间相隔的秒数 .time.tim ...

  5. python时间计算_python利用datetime模块计算时间差、当前时间多加一天、一小时、一分钟和常用操作...

    记录下试用datetime的一些常用操作In [1]: from datetime import datetime In [2]: aa = datetime.now() In [3]: aa Out ...

  6. Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末

    V_BEGIN_DT_M DATE; --按月开始日期V_BEGIN_DT_Q DATE; --按季开始日期V_BEGIN_DT_H DATE; --按半年开始日期V_BEGIN_DT_Y DATE; ...

  7. python时间计算_python计算两日期之间工作日时长

    1. 原因:使用dateutil的rrule时,计算速度比较慢 def axx(): from dateutil import rrule received_time = datetime.datet ...

  8. python时间计算_python datetime库使用和时间加减计算

    datetime库使用 一.操作当前时间 1.获取当前时间 >>> importdatetime>>> printdatetime.datetime.now()20 ...

  9. oracle季初,Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末

    V_BEGIN_DT_M DATE; --按月开始日期 V_BEGIN_DT_Q DATE; --按季开始日期 V_BEGIN_DT_H DATE; --按半年开始日期 V_BEGIN_DT_Y DA ...

最新文章

  1. 文本处理工具之grep和egrep
  2. echarts python源码_基于Echarts的微代码开发平台SmartChart, 免费开源使用
  3. windows10下postgreSQL 下载、安装、启动、关闭
  4. 存储管理之页式、段式、段页式存储
  5. pat 乙级 1021 个位数统计(C++)
  6. MTK 驱动开发(33)---Vibrator
  7. rtmp服务器 协议之同步
  8. 电子开发网---一个硬件很好的网站
  9. 养成女友?我训练出了一个“杨超越”聊天机器人
  10. 如何查看excel中的vba代码
  11. 【Python建模环境搭建】PyCharm的安装配置以及建模插件Matplotlib的安装
  12. Oracle官网下载JDK8需要注册怎么办
  13. 高阶篇:4.1.2.2)产品部件级别的QFDII
  14. 大数据实际案例系列一
  15. Fritzing软件绘制Arduino面包板接线图传感器模块库文件273
  16. 用js给html添加样式
  17. 锐化 清晰度 对比度的区别
  18. python字符串加双引号是什么意思_python字符串表示什么?
  19. 利用Google API 进行IP地址定位
  20. 用python整个活(3)——生日悖论:birthday paradox

热门文章

  1. 抖音巨量千川投放受到口碑分影响?该怎么提高口碑分?
  2. AGV导航中的最短路径算法比较
  3. Linux/C++项目结构与编译
  4. 三星手机大量死机!我反编译折腾半天后,发现竟然一个汉字引发的....
  5. 怎样把PDF图片旋转90度
  6. docker 常用命令(二)——容器命令
  7. 金融产品的不可能三角:收益性、风险性、流动性
  8. 1077: 空心菱形
  9. 神兽保佑,永无bug!
  10. 设计模式之(九)--包装模式(decorator)