Python 获取今天(当天)、昨天(前一天)、前天(昨天的前一天)的开始时间、结束时间

描述:我这里是封装成DatetimeHelper工具类来调用 

1.今天(当天)开始时间、结束时间

from datetime import datetime, timedeltaclass DatetimeHelper:# 获取今天(当天)的开始时间、结束时间(datetime类型)@staticmethoddef getTodayStartEnd():# 获取当前的日期now = datetime.now()# 获取当天的开始时间start_today = now.replace(hour=0, minute=0, second=0, microsecond=0)# 获取当天的结束时间end_today = start_today + timedelta(days=1) - timedelta(seconds=1)return start_today, end_today# 获取今天(当天)的开始时间、结束时间(字符串类型)@staticmethoddef getTodayStartEndStr():# 获取当前的时间now = datetime.now()# 获取当天的开始时间start_today = now.strftime("%Y-%m-%d 00:00:00")# 获取当天的开始时间end_today = now.strftime("%Y-%m-%d 23:59:59")return start_today, end_today

2.获取昨天(前一天)的开始时间、结束时间

from datetime import datetime, timedeltaclass DatetimeHelper:# 获取昨天(前一天)的开始时间、结束时间(datetime类型)@staticmethoddef getYesterdayStartEnd():# 获取昨天的日期yesterday = datetime.now() - timedelta(days=1)# 昨天的开始时间start_yesterday = yesterday.replace(hour=0, minute=0, second=0, microsecond=0)# 昨天的结束时间end_yesterday = start_yesterday + timedelta(days=1) - timedelta(seconds=1)return start_yesterday, end_yesterday# 获取昨天(前一天)的开始时间、结束时间(字符串类型)@staticmethoddef getYesterdayStartEndStr():# 获取昨天的日期yesterday = datetime.now() - timedelta(days=1)# 获取昨天的开始、结束时间字符串start_yesterday_str = yesterday.strftime("%Y-%m-%d 00:00:00")end_yesterday_str = yesterday.strftime("%Y-%m-%d 23:59:59")return start_yesterday_str, end_yesterday_str

3.获取前天(昨天的前一天)开始时间、结束时间

 获取前天的开始时间、结束时间,可以用昨天的开始时间、结束时间分别减一天,我这里用的就是此方法;也可以单独封装一个获取前天开始时间、结束时间的方法,核心代码当前时间天数减2: datetime.now() - timedelta(days=2),我这里就不再赘述

yesterday_items = DatetimeHelper.getYesterdayStartEnd()
# 前天(昨天的前一天)开始时间、结束时间
day_before_yesterday_start = yesterday_items[0] - timedelta(days=1)
day_before_yesterday_end = yesterday_items[1] - timedelta(days=1)

4. 完整代码及运行效果

from datetime import datetime, timedeltaclass DatetimeHelper:# 获取今天(当天)的开始时间、结束时间(datetime类型)@staticmethoddef getTodayStartEnd():# 获取当前的日期now = datetime.now()# 获取当天的开始时间start_today = now.replace(hour=0, minute=0, second=0, microsecond=0)# 获取当天的结束时间end_today = start_today + timedelta(days=1) - timedelta(seconds=1)return start_today, end_today# 获取今天(当天)开始时间、结束时间(字符串类型)@staticmethoddef getTodayStartEndStr():# 获取当前的时间now = datetime.now()# 获取当天的开始时间start_today = now.strftime("%Y-%m-%d 00:00:00")# 获取当天的开始时间end_today = now.strftime("%Y-%m-%d 23:59:59")return start_today, end_today# 获取昨天(前一天)的开始时间、结束时间(datetime类型)@staticmethoddef getYesterdayStartEnd():# 获取昨天的日期yesterday = datetime.now() - timedelta(days=1)# 昨天的开始时间start_yesterday = yesterday.replace(hour=0, minute=0, second=0, microsecond=0)# 昨天的结束时间end_yesterday = start_yesterday + timedelta(days=1) - timedelta(seconds=1)return start_yesterday, end_yesterday# 获取昨天(前一天)的开始时间、结束时间(字符串类型)@staticmethoddef getYesterdayStartEndStr():# 获取昨天的日期yesterday = datetime.now() - timedelta(days=1)# 获取昨天开始、结束时间字符串start_yesterday_str = yesterday.strftime("%Y-%m-%d 00:00:00")end_yesterday_str = yesterday.strftime("%Y-%m-%d 23:59:59")return start_yesterday_str, end_yesterday_strif __name__ == '__main__':# 今天(当天)开始时间、结束时间today_items = DatetimeHelper.getTodayStartEnd()today_str_items = DatetimeHelper.getTodayStartEndStr()# 昨天(前一天)开始时间、结束时间yesterday_items = DatetimeHelper.getYesterdayStartEnd()yesterday_str_items = DatetimeHelper.getYesterdayStartEndStr()# 前天(昨天的前一天)开始时间、结束时间day_before_yesterday_start = yesterday_items[0] - timedelta(days=1)day_before_yesterday_end = yesterday_items[1] - timedelta(days=1)print(f'当天的开始时间: {today_items[0]}, 当天的结束时间: {today_items[1]}')print(f'当天的开始时间str: {today_str_items[0]}, 当天的结束时间str: {today_str_items[1]}')print(f'昨天的开始时间: {yesterday_items[0]}, 昨天的结束时间: {yesterday_items[1]}')print(f'昨天的开始时间str: {yesterday_str_items[0]}, 昨天的结束时间str: {yesterday_str_items[1]}')print(f'前天的开始时间: {day_before_yesterday_start}, 前天的结束时间str: {day_before_yesterday_end}')

源代码地址:https://gitee.com/jxzcode_admin/flask-project.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/377491.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx生成自签名SSL证书配置HTTPS

一、安装nginx nginx必须有"--with-http_ssl_module"模块 查看nginx安装的模块: rootecs-7398:/usr/local/nginx# cd /usr/local/nginx/ rootecs-7398:/usr/local/nginx# ./sbin/nginx -V nginx version: nginx/1.20.2 built by gcc 9.4.0 (Ubuntu 9.4.0…

HarmonyOS 屏幕适配设计

1. armonyOS 屏幕适配设计 1.1. 像素单位 (1)px (Pixels)   px代表屏幕上的像素点,是手机屏幕分辨率的单位,即屏幕物理像素单位。 (2)vp (Viewport Percentage)   vp是视口百分比单位,基于…

如何在excel表中实现单元格满足条件时整行变色?

可以试试使用条件格式: 一、条件格式 所谓“自动变色”就要使用条件格式。 先简单模拟数据如下, 按 B列数字为偶数 为条件,整行标记为蓝色背景色。 可以这样设置: 先选中1:10行数据,在这里要确定一下名称栏里显示…

元器件基础学习笔记——磁珠

一、磁珠的作用及构造 1.1 磁珠的作用 磁珠是一种用于抑制高频噪声的被动电子组件,通常由铁氧体材料制成,这种材料具有高电阻率和高磁导率,使其能够在高频下有效地将干扰信号以热能的形式消耗掉。在电路设计中,磁珠被广泛用于信号…

SQL Server设置定时作业调度Schedule

文章目录 SQL Server代理 SQL Server代理 SQL Server提供了一种称为SQL Server代理的功能,可以用来设置定时作业。以下是在SQL Server中设置定时作业的步骤: 打开SQL Server Management Studio(SSMS)。 连接到要设置定时作业的数…

Kotlin标准函数(语法糖)let with run also apply快速讲解

目录 1、知识储备——扩展函数 原理 定义扩展函数 调用扩展函数 2、返回值为上下文对象的标准函数 apply also 3、返回值为Lambda表达式结果 let run with 4、一表总结 1、知识储备——扩展函数 原理 Kotlin 在不继承父类或实现接口下,也能扩展一个类的…

N-(4-Azido-2-nitrophenyl)-N‘‘-biotinylnorspemidine

​一、基本信息 常用名:N-(4-Azido-2-nitrophenyl)-N-biotinylnorspemidine 英文名:N-(4-Azido-2-nitrophenyl)-N-biotinylnorspemidine CAS号:786609-83-4 分子式:C22H33N9O4S 分子量:519.62 二、结构特点 该化…

数据(图像)增广

一、数据增强 1、增加一个已有数据集,使得有更多的多样性,比如加入不同的背景噪音、改变图片的颜色和形状。 2、增强数据是在线生成的 3、增强类型: (1)翻转 (2)切割 (3&#xf…

LLM大模型应用中的安全对齐的简单理解

LLM大模型应用中的安全对齐的简单理解 随着人工智能技术的不断发展,大规模语言模型(如GPT-4)的应用越来越广泛。为了保证这些大模型在实际应用中的性能和安全性,安全对齐(Safe Alignment)成为一个重要的概…

struts2如何防止XSS脚本攻击(XSS防跨站脚本攻击过滤器)

只需要配置一个拦截器即可解决参数内容替换 一、配置web.xml <filter><filter-name>struts-xssFilter</filter-name><filter-class>*.*.filters.XssFilter</filter-class></filter><filter-mapping><filter-name>struts-xss…

存储实验:Linux挂载iscsi硬盘与华为OceanStor创建LUN全流程

目录 目的环境规划实验实验流程Centos配置0. 关闭防火墙1. 设置网卡信息2. 配置路由3. iscsiadm连接存储 iSCSI LUN创建&#xff08;以华为OceanStor为例&#xff09;验证1. 验证是否成功2. 开启自动挂载 目的 实现Linux连接iscsi硬盘&#xff0c;同时实现开机自启挂载 环境规…

浅谈全量微调和PEFT高效微调(LoRA)

浅谈全量微调和LoRA微调 全量微调Full Fine-Tuning 全量微调是指在预训练的大型模型基础上调整所有层和参数&#xff0c;‌使其适应特定任务的过程。‌这一过程使用较小的学习率和特定任务的数据进行&#xff0c;‌可以充分利用预训练模型的通用特征 高效微调 高效微调&…

MongoDB自学笔记(二)

一、前言 接着上一篇文章&#xff0c;在上一篇文章中学习了如何使用数据库、如何创建集合、如何往集合里添加文档&#xff0c;今天我们继续学习一下更新文档&#xff0c;更新文档相对来说比较复杂笔者打算分多次来记录学习过程。 二、文档操作 1、更新文档 基础语法&#x…

CORDIC Translate

随便记录一下下&#xff1a; Cordic IP核使用说明以及避坑记录-CSDN博客 本次只用到了Translate&#xff0c;记录一下自己遇到的坑坑 实际配置&#xff1a; timescale 1ns / 1nsmodule cordic_tb();reg clk;wire m_axis_dout_tvalid;reg s_axis_cartesian_tvalid 0;wire [31…

SPE连接器技术革新汽车制造业

概述 新的SPE标准在汽车制造业中的应用正日益受到重视&#xff0c;它不仅推动了汽车通信技术的革新&#xff0c;还对汽车性能测试方法产生了深远影响。本文将详细探讨SPE标准在汽车制造业中的应用案例分析&#xff0c;以及它对供应链的挑战与机遇。 SPE标准在汽车制造业中的应…

ROM修改进阶教程------深度解析小米设备锁机型不解锁bl 刷写特殊类固件的步骤

在玩机过程中会遇到很多自己机型忘记密码或者手机号不用导致机型出现账号锁。无法正常使用。那么此类机型如果无法正常售后解锁。只能通过第三方渠道。例如在早期小米机型有强解bl锁资源。然后刷入完美解锁包。这种可以登陆新账号。但后期新机型只能通过修改分区来屏蔽原设备锁…

如何在idea安装git,使用gitee?

一、什么是git&#xff0c;git与gitee、GitHub的关系&#xff1f; 1.什么是git&#xff1f; Git 是一个开源的分布式版本控制系统&#xff0c;用于企业项目中程序员协同开发。 2.git与gitee、GitHub的关系是什么&#xff1f; git &#xff1a;Git是一种版本控制系统&#x…

python条件

条件语句 if语句 if...else语句 if...elif...else语句 嵌套 is is 是一个身份运算符&#xff0c;用于比较两个对象的身份&#xff0c;即它们在内存中的地址是否相同。这与比较两个对象是否相等的 运算符不同。 运算符比较的是两个对象的值是否相等。 比较对象 比较基本数据…

QGroundControl连接运行在Docker中的PX4固件模拟器

1.通过docker启动PX4无人机 docker run --rm -it jonasvautherin/px4-gazebo-headless:1.14.3 启动成功&#xff1a; PX4完全启动OK如下&#xff1a; 会看到pxh> INFO [commander] Ready for takeoff! 执行takeoff指令 查看运行docker容器与QGC客户端的主机IP&#xff1a; …

Nginx七层(应用层)反向代理:SCGI代理scgi_pass篇

Nginx七层&#xff08;应用层&#xff09;反向代理 SCGI代理scgi_pass篇 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this art…