Python中的datetime库

1. datetime

datetime是Python中用于处理日期和时间的类,它包含在datetime模块中。使用datetime类,我们可以创建表示特定日期和时间的对象,以及进行日期和时间的计算和操作。

from datetime import datetime, timedelta# 获取当前日期和时间
current_datetime = datetime.now()
print("当前日期和时间:", current_datetime)# 创建一个特定的日期和时间对象
specific_datetime = datetime(2023, 11, 27, 12, 30, 0)
print("特定的日期和时间:", specific_datetime)# 提取日期和时间的各个部分
print("年份:", specific_datetime.year)
print("月份:", specific_datetime.month)
print("日期:", specific_datetime.day)
print("小时:", specific_datetime.hour)
print("分钟:", specific_datetime.minute)
print("秒:", specific_datetime.second)
2.strftime是Python中用于将日期和时间格式化为字符串的方法。它可以将datetime对象中的日期和时间按指定的格式转换为字符串。
from datetime import datetime# 获取当前日期和时间
current_datetime = datetime.now()# 将日期和时间格式化为字符串
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print("格式化后的日期和时间:", formatted_datetime)# 提取日期和时间的各个部分并进行格式化
formatted_year = current_datetime.strftime("%Y")
formatted_month = current_datetime.strftime("%m")
formatted_day = current_datetime.strftime("%d")
formatted_hour = current_datetime.strftime("%H")
formatted_minute = current_datetime.strftime("%M")
formatted_second = current_datetime.strftime("%S")
print("格式化后的年份:", formatted_year)
print("格式化后的月份:", formatted_month)
print("格式化后的日期:", formatted_day)
print("格式化后的小时:", formatted_hour)
print("格式化后的分钟:", formatted_minute)
print("格式化后的秒数:", formatted_second)

以上代码会输出类似以下的结果:

格式化后的日期和时间: 2023-11-27 02:18:55
格式化后的年份: 2023
格式化后的月份: 11
格式化后的日期: 27
格式化后的小时: 02
格式化后的分钟: 18
格式化后的秒数: 55

通过使用strftime,我们可以将datetime对象中的日期和时间按照指定的格式转换为字符串,从而满足特定的需求。在格式化字符串中,可以使用各种占位符来表示不同的日期和时间部分,如%Y表示四位数的年份,%m表示两位数的月份,%d表示两位数的日期,%H表示24小时制的小时,%M表示分钟,%S表示秒等等。具体的占位符可以根据需要进行组合使用。

2. timedelta

timedelta是Python中的一个类,用于表示时间间隔。它可以用来进行日期和时间的计算和操作。

在Python中,可以使用datetime模块来创建timedelta对象,并对其进行各种操作。

from datetime import datetime, timedelta# 创建一个timedelta对象,表示1天的时间间隔
one_day = timedelta(days=1)# 创建一个timedelta对象,表示2小时的时间间隔
two_hours = timedelta(hours=2)# 获取当前时间
now = datetime.now()# 计算两天后的日期
two_days_later = now + 2 * one_day# 计算3小时前的时间
three_hours_ago = now - 3 * two_hours# 计算两个日期之间的时间间隔
time_diff = two_days_later - three_hours_ago# 输出结果
print("两天后的日期:", two_days_later)
print("三小时前的时间:", three_hours_ago)
print("时间间隔:", time_diff)

输出结果:

两天后的日期: 2023-11-29 02:16:40.000000
三小时前的时间: 2023-11-26 23:16:40.000000
时间间隔: 0:05:00

对日期和时间进行加减运算

one_day = timedelta(days=1)
one_week_later = current_datetime + timedelta(weeks=1)
one_day_ago = current_datetime - one_day
print("一周后的日期:", one_week_later)
print("一天前的日期:", one_day_ago)

工作中有需要根据用例编写自动化脚本
在这里插入图片描述

QUERY_TAG_LIST_8 = ["BYTE_AUTO_1","INT_AUTO_1","UINT_AUTO_1", "REAL_AUTO_1","BYTE_MAN_1","INT_MAN_1","UINT_MAN_1","REAL_MAN_1"]
now = datetime.now()  # 获取当前时间
endtime = now.replace(minute=0, second=0, microsecond=0)  # 将分钟、秒钟和微秒都设置为零
starttime = endtime-timedelta(days=1)
end_time = endtime.strftime("%Y-%m-%d %H:%M:%S,%f")   # 格式化字符串,格式为"2023-7-14 20:00:02,000000"
start_time = starttime.strftime("%Y-%m-%d %H:%M:%S,%f") # 采样查询--8个位号(4个秒变)前1天整点历史查询,频率:1小时一次
while start_time < end_time:data11 = clt.C_Sample_Query_by_Count(ip=test_ip,tagName=QUERY_TAG_LIST_8,isReverse=1,dataCount=1200,beginTime=start_time,endTime=end_time)print(data11)time.sleep(3600)start_time += timedelta(hours=1)

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

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

相关文章

为什么请求会发送两次-预检请求(OPTIONS)

当我们在发送跨域的POST请求时&#xff0c;浏览器会先发送一次OPTIONS请求&#xff0c;这是由于浏览器的同源策略所导致的。这个预检请求&#xff08;pre-flight request&#xff09;是CORS&#xff08;跨源资源共享&#xff09;机制的一部分。 预检请求的目的在于确保实际请求…

VSCode:修改左侧窗口字体大小

参考文章 https://blog.csdn.net/zhizhengguan/article/details/121361372

爬虫如何确定HTTP代理IP是否符合自己业务需求?

HTTP代理在许多业务场景中发挥着关键作用&#xff0c;但要确保其能够满足业务需求&#xff0c;需要考虑多个方面的因素。今天我们一起看看&#xff0c;要如何判断HTTP代理是否适合自己的业务&#xff0c;以及在选择HTTP代理时需要考虑的综合因素。 1. 稳定性 稳定性是HTTP代理…

使用Moment.js中获取上周的开始日期和结束日期(可自定义)

前言 有时候需求是这样的&#xff0c;想要获取上周的开始日期和结束日期&#xff0c;或者前几周的时间范围 比如今天是2023.11.28号&#xff0c;我想获取上周的周一到周日&#xff0c;也就是&#xff0c;上周的开始日期: 2023-11-20&#xff0c;上周的结束日期: 2023-11-26 1.…

爬虫系统Docker和Kubernetes部署运维最佳实践

在构建和管理爬虫系统时&#xff0c;使用Docker和Kubernetes可以带来诸多好处&#xff0c;如方便的部署、弹性伸缩和高可靠性。然而&#xff0c;正确的部署和运维实践对于确保系统稳定运行至关重要。在本文中&#xff0c;我将分享爬虫系统在Docker和Kubernetes上的最佳部署和运…

SSM卫生信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 卫生信息管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…

java设计模式学习之【单例模式】

文章目录 引言单例模式简介定义与用途实现方式&#xff1a;饿汉式懒汉式 UML 使用场景优势与劣势单例模式在spring中的应用饿汉式实现懒汉式实现数据库连接示例代码地址 引言 单例模式是一种常用的设计模式&#xff0c;用于确保在一个程序中一个类只有一个实例&#xff0c;并且…

centos7搭建 PXE 服务安装 window10/11 系统

最近想搭建之前基于 window server 的 window 批量安装&#xff0c;但想想装 window server 真的太麻烦了&#xff0c;我只是为了 PXE 安装系统而已&#xff0c;这些装一个极度消耗资源的系统真是相当麻烦呀&#xff0c;之前装的 server 不维护的话&#xff0c;不是被挖矿盯上就…

9 动态规划解单次词拆分

描述&#xff1a;给定一个非空字符串和一个包含非空单次的列表wordDict&#xff0c;判定s是否可以被空格拆分成一个或多个在字典中出现的单词。 说明&#xff1a; 1 拆分式可以重复使用字典中的单词。 2 你可以假设字典中没有重复的单词。 示例1&#xff1a;…

批量采集淘宝商品数据,有哪些方式可以实现?

引言 在当今的数字化时代&#xff0c;数据已经成为企业竞争的核心资源。对于电商行业来说&#xff0c;对商品数据的采集和分析更是关键。淘宝作为中国最大的电商平台之一&#xff0c;其丰富的商品数据和用户行为数据具有极高的价值。那么&#xff0c;如何批量采集淘宝商品数据…

The module to import is incompatible with the current project【鸿蒙开发-BUG已解决】

文章目录 项目场景:问题描述原因分析:解决方案:心得体会:知识点OpenHarmony:HarmonyOS:项目场景: 报错: The module to import is incompatible with the current project 问题描述 希望通过 import module 将该模块引入到我的项目。 导入后出现错误,因为项目和模块…

基于51单片机冰箱温度控制器设计

**单片机设计介绍&#xff0c; 基于51单片机冰箱温度控制器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机冰箱温度控制器设计是一个非常实用的项目。以下是一个基本的介绍&#xff1a; 系统概述&#xff1a; …

Ubuntu20.04用D435i运行VINS-Fusion时出现“追踪与中断点陷阱”的问题该怎么解决

在使用D435i运行VINS-Fusion时出现了以下画面: 该错误显示&#xff1a;追踪与中断点陷阱。在网上查了一堆&#xff0c;说是core file的错误&#xff0c;但修改后也没有解决。实际上&#xff0c;真正的原因是&#xff1a;文件的路径错了。 打开VINS-Fusion的文件所在的空间&…

phpstorm使用教程

1.界面优化 ctrlalts --->Plugins--->搜素Material Theme UI--->安装--->重启phpstorm--->tool--->Material Theme--->Material Theme Chooser--->选择自己喜欢的风格就行 2.安装界面插件之后&#xff0c;修改字体颜色有讲究&#xff1a;需要点击图片…

影刀实例二,小某书如何持续下载图片

一&#xff0c;案例背景&#xff1a; 小某书平台&#xff0c;利用影刀rpa搜索关键词&#xff0c;然后下载对应文章的图片. 二&#xff0c;思路 1. 登录小某书平台&#xff0c;将网页放大最大【手动完成&#xff0c;作为初始状态】 2. 利用影刀命令【打开输入对话框】获得要搜索…

替换动态字符串

//{tokenid}是url里面要替换的string if( retul[i].url.includes("{tokenid}")){ var re new RegExp ( "{tokenid}" , "g" ); retul[i].url retul[i].url.replace ( re , tokenid ); // retul[i].url.replace("…

HCIA-H12-811题目解析(2)

1、【单选题】 在以太网这种多点访问网络上PPPOE服务器可以通过一个以太网端口与很多PPPOE客户端建立起PPP连接&#xff0c;因此服务器必须为每个PPP会话建立唯一的会话标识符以区分不同的连接PPPOE会使用什么参数建立会话标识符? 2、【单选题】PPP协议定义的是OSI参考模型中…

【Python】Selenium自动化测试框架

设计思路 本文整理归纳以往的工作中用到的东西&#xff0c;现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架&#xff0c;能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开&#xff0…

java--json工具

对象转化为string类型时,时间类型保持为字符串类型,而不是转化为时间戳(数字) JsonUtils .java package com.hfwy.energyelectrolysisauxiliary.utils;import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import…

Spring Cloud + Nacos 项目启动失败【No spring.config.import property has been defined】

在 Spring Cloud 项目使用 bootstrap.yaml 配置文件&#xff0c;添加 nacos 等相关参数配置&#xff0c;启动服务抛入如下异常&#xff1a; org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor$ImportException: No spring.config.import set ... …