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.mfbz.cn/a/196178.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

最新发布 Spring Boot 3.2.0 新特性和改进

一、Spring Boot 简介 Spring Boot是由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化新Spring应用的初始搭建以及开发过程。这个框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置。 以下是Spring Boot的一些主要特点&#xf…

世微 舞台灯深度调光 大功率 dc-dc降压恒流驱动IC APS54083

产品描述 APS54083 是一款 PWM 工作模式,高效率、外围简单、外置功率 MOS 管&#xff0c;适用于 5-220V 输入高精度降压 LED 恒流驱动芯片。输出最大功率150W最大电流 6A。APS54083 可实现线性调光和 PWM 调光&#xff0c;线性调光脚有效电压范围 0.5-2.5V.PWM 调光频率范围 10…

MyBatis使用教程详解<上>

一. 什么是MyBatis? Mybatis是一个持久层框架,用于简化JDBC的操作MyBatis原本是Apache的一个开源项目ibatis,后来更名为MyBatis 上面我们提到了一个概念----持久层 不知道小伙伴们有没有想到五大注解的关系,类似于下图 其中MyBatis就是Mapper层的框架,是基于JDBC的封装,可以帮…

vue select选择下拉组织树,解决不出现横向滚动条

背景&#xff1a;由于项目需求需要使用下拉选择框的组织架构树 实现代码如下&#xff1a; <el-row><el-col :span"18"><el-form-item label"所属组织:" prop"groupName"><el-select v-model"dataForm.groupName"…

TDA4VM LInux SDK编译

文章目录 前言编译步骤前言 上篇TDA4VM EVM开发板调试笔记我们尝试把EVM开发板跑起来了,本篇主要记录,Linux SDK 的编译过程。 编译步骤 安装依赖: $ sudo apt-get update $ # Install packages required for builds $ sudo apt-get -f -y install \

净利下滑、市值缩水,“特卖电商第一股”唯品会夹缝求生

作者 | 艺馨 鸠白 排版 | Cathy 监制 | Yoda 出品 | 不二研究 刚刚过去的“黑色星期五”&#xff0c;跨境电商似乎“静悄悄”。 根据Adobe Analytics的数据&#xff0c;今年美国黑五线上销售额预计同比增长7.5%&#xff0c;达到98亿美元。 作为“特卖电商第一股”&#x…

竞赛选题 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基…

c语言-希尔排序

目录 一、插入排序 1、插入排序的概念 2、插入排序的逻辑实现 3、插入排序的实现 二、希尔排序 1、希尔排序概念 2、希尔排序逻辑实现 3、间隔值&#xff08;gap&#xff09;对排序的影响 4、希尔排序的实现 三、插入排序与希尔排序性能对比测试 结语&#xff1a; 前言…

Appscan安装详解

一、下载方式 方式一&#xff1a; 百度网盘链接:https://pan.baidu.com/s/1yV9nL78JEABxMTa7eHpPug 提取码:97 fm 方式二&#xff1a; 链接&#xff1a; https://pan.baidu.com/s/19TAHl8lYGmE0O753ULyzYA 密码&#xff1a;yvle 方式三&#xff1a; 链接&#xff1a;https://p…

ROC及曲线面积汇总学习

目录 ROC基础 生成模拟数据 率的计算 R语言计算测试 ROCR&#xff1a; pROC ROC绘制 单个ROC 两个ROC Logistic回归的ROC曲线 timeROC ROC基础 ROC曲线的横坐标是假阳性率&#xff0c;纵坐标是真阳性率&#xff0c;需要的结果是这个率表示疾病阳性的率&#xff08;…

采用NTC进行温度测量典型电路

本文介绍采用NTC进行温度测量典型电路。 采用NTC进行温度测量的电路有多种&#xff0c;典型的有恒流法和恒压法。在一般要求不高的应用场合&#xff0c;恒压法用的比较多&#xff0c;本文介绍一种采用恒压法进行NTC温度测量电路。 1.原理图 原理图如下图所示&#xff1a; 此…

springboot云HIS医院信息综合管理平台源码

满足基层医院机构各类业务需要的健康云HIS系统。该系统能帮助基层医院机构完成日常各类业务&#xff0c;提供病患挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生站和护士站等一系列常规功能&#xff0c;能与公卫、PACS等各类外部系统融合&#xff0c;实现多…

QT linux下应用程序打包

一、应用程序app 1、应用程序的pro文件 2、 程序工作函数 3、app的UI界面 二、动态库lib 1、Lib类头文件 2、.cpp文件 三、对应用程序和动态库进行构建 1、对动态库进行qmake,然后进行构建 2、对应用程序进行qmake&#xff0c;然后进行构建 3、查看构建目录 四、编写脚本 …

RPA机器人如何解决非银企直联网银账户的数据自动采集?

数字时代来临&#xff0c;随着全球信息化水平的不断提升&#xff0c;企业们纷纷向自动化办公、数字化转型靠拢。财务部门作为一个企业的重要部门&#xff0c;承担着管理和监控公司所有项目的重要职责&#xff0c;因而一直被视为企业数字化转型的重要突破口。 由于企业经营理念和…

局部内部类(内部类) - Java

局部内部类 说明&#xff1a;局部内部类是定义在外部类的局部位置&#xff0c;比如方法中&#xff0c;并且有类名。 LocalInnerClass.java 非常重要的几点&#xff01;&#xff01; 局部内部类本质还是一个类&#xff0c;该有的属性方法也都可以有。【举例a.见下文】可以直接…

传奇手游白日门【纵横天下】win服务端+双端+GM后台+详细架设教程

搭建资源下载地址&#xff1a;传奇手游白日门【纵横天下】win服务端双端GM后台详细架设教程-海盗空间

C++: String类接口学习

文章目录 STL简介一. 为什么要有string类二. STL 中的 string 类介绍1. string 类描述2. 关于 basic_string 三. string 类的常用接口1. string 类的常见构造2. string 类的容量操作size 和 lengthcapacitymax_sizereserveresize 3. string 类对象的访问及遍历操作operator[] 和…

centos服务器扩容

centos服务器扩容 我的情况是&#xff0c;原服务器是一个80g磁盘&#xff0c;管理员又追加了120G到这块磁盘上&#xff0c;需要把这120G重新追加使用。 请确认你遇到的情况是否和我初始截图一致&#xff0c;再往下看&#xff0c;免得浪费时间与精力 服务器中有120G尚未使用&…

典型的SAST支持检测标准

这里我们列举了Coverity、Cobot、代码卫士、Klocwork、QAC、C test几款典型的SAST工具&#xff0c;看看他们都是支持那些C、C标准&#xff08;主要是C、C标准&#xff0c;其它语言较少&#xff09;呢&#xff1f; 这可以作为厂商研发的方向标。 &#xff08;结束&#xff09;

更高效的图片预览方案

传统的图片预览方式是什么样子的呢&#xff1f; 首先是用户选择一张图片&#xff0c;通过ajax上传到服务器&#xff0c;然后服务器返回一个访问url 然后给img标签的src属性设置这个访问url。 那这就会有一个问题&#xff0c;用户为什么要先网络上传上去再预览呢&#xff0c;我…