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.hqwc.cn/news/227721.html

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

相关文章

工业产品3d交互展示数字云展厅更绿色环保

随着数字技术的飞速发展&#xff0c;3D全景汽车云展厅平台应运而生&#xff0c;为现代展览带来了前所未有的创新与变革。该平台以其独特的优点&#xff0c;为观众、艺术家和展商带来了全新的展览体验&#xff0c;开启了未来展览的新篇章。 首先&#xff0c;3D全景汽车云展厅平台…

Qt路径和Anaconda中QT路径冲突(ubuntu系统)

最近做一个项目需要配置QT库&#xff0c;本项目配置环境如下&#xff1a; Qt version 5 Operating system, version and so on ubuntu 20.04 Description 之前使用过anaconda环境安装过QT5&#xff0c;所以在项目中CMakeLists文件中使用find_package时候&#xff0c;默认使用An…

python 爬虫之 爬取网站信息并保存到文件

文章目录 前期准备探索该网页的HTML码的特点开始编写代码存入文件总的程序文件存储效果 前期准备 随便找个网站进行爬取&#xff0c;这里我选择的是(一个卖书的网站&#xff09; https://www.bookschina.com/24hour/62700000/ 我的目的是爬取这个网站的这个页面的书籍的名称以…

链接2:静态链接、目标文件、符号和符号表

文章目录 静态链接符号解析 (symbolresolution)重定位 (relocation) 目标文件1.可重定位目标文件2.可执行目标文件3.共享目标文件 可重定位目标文件text:rodata:.data.bss.symtab.rel.text.rel.data:debug:line:strtab: 符号和符号表由m定义并能被其他模块引用的全局符号由其他…

Unity打出的安卓包切换后台再恢复前台,卡顿许久问题记录

连接AndroidStudio发现当切换后台时提示&#xff1a;D/Unity: Multi-casting "[IP] 192.168.31.231 [Port] 55000 [Flags] 19 [Guid] 1268732307 [EditorId] 264356214 [Version] 1048832 [Id] AndroidPlayer(11,Xiaomi_M2012K11AC192.168.31.231) [Debug] 0 [PackageName…

【古月居《ros入门21讲》学习笔记】08_发布者Publisher的编程实现

目录 说明&#xff1a; 1. 话题模型 图示 说明 2. 实现过程&#xff08;C&#xff09; 创建功能包 创建发布者代码&#xff08;C&#xff09; 配置发布者代码编译规则 编译并运行 编译 运行 3. 实现过程&#xff08;Python&#xff09; 创建发布者代码&#xff08;…

Mysql更新Blob存储的Josn数据

Mysql更新blob存储的Josn数据 记录一次mysql操作blob格式存储的json字符串数据 1、检查版本 -- 版本5.7以上才可以能执行json操作 select version(); 2、创建测试数据 -- 创建测试表及测试数据 CREATE TABLE test_json_table AS SELECT UUID(), {"test1": {"…

LLM大语言模型

大语言模型的定义 大语言模型&#xff08;英文&#xff1a;Large Language Model&#xff0c;缩写LLM&#xff09;&#xff0c;也称大型语言模型&#xff0c;是一种人工智能模型&#xff0c;旨在理解和生成人类语言。它们在大量的文本数据上进行训练&#xff0c;可以执行广泛的…

使用std::mutext与std::condition_variables实现信号量

1. 信号量的定义 2. 使用std::mutext与std::condition_variables实现信号量 代码来自&#xff1a;https://zhuanlan.zhihu.com/p/462668211 #ifndef _SEMAPHORE_H #define _SEMAPHORE_H #include <mutex> #include <condition_variable> using namespace std;cla…

编写安全 JavaScript 代码的最佳实践

编写安全 JavaScript 代码的最佳实践 JavaScript 的动态特性使其成为事实上的浏览器语言和世界上最流行的编程语言。 JS 最受欢迎的有用功能之一是即时分析。这意味着浏览器在下载内容的同时执行代码&#xff0c;这显然有其优势。然而&#xff0c;这种程度的自由也伴随着问题…

04_Flutter自定义Slider滑块

04_Flutter自定义Slider滑块 一.Slider控件基本用法 Column(mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[Text("sliderValue: ${_sliderValue.toInt()}"),Slider(value: _sliderValue,min: 0,max: 100,divisions: 10,thumbColor: Colors.…

3种在ArcGIS Pro中制作山体阴影的方法

山体阴影可以更直观的展现地貌特点&#xff0c;表达真实的地形&#xff0c;这里为大家介绍一下在ArcGIS Pro中制作山体阴影的方法&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的DEM数据&#xff0c;除了DEM数据&#xff0c;常见的GIS数据…