Python时间模块四大必备知识点

简介: Python时间模块四大必备知识点

Python的datetime模块可以帮助我们处理任何精度的时间相关的信息。在本文中,我们将详细介绍该模块中的4个对象,即date、time、datetime和timedelta。

Date表示了以年、月和日为单位的日期。让我们通过几个例子来展示该如何使用它们。

我们可以通过传递年、月、日这些信息,来创建存储日期的date对象。

time模块

time模块的时间表现方式有三种,分别是时间抽、时间字符串和时间元组。

下面我们一一来看

# 时间戳
ic(time.time())
 
 
# 时间字符串
ic(time.strftime('%Y/%m/%d %H:%M:%S'))
 
 
# 时间元组
ic(time.localtime())
 
'''
ic| time.time(): 1637025742.9728189
ic| time.strftime('%Y/%m/%d %H:%M:%S'): '2021/11/16 09:22:23'
ic| time.localtime(): time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=9, tm_min=22, tm_sec=23, tm_wday=1, tm_yday=320, tm_isdst=0)
'''

date模块

打印当前日期

# 今天的日期
print(date.today())
'''
2021-11-16
'''

格式化时间

# 格式化时间
d1 = date(2021, 11, 17)
s = d1.isoformat()
print(s)
'''
2021-11-17
'''

获取当前时间的年、周、星期

# 日历显示:(年,第几周,星期)
ic(d1.isocalendar())
 
# 获取星期(1~7)
ic(d1.isoweekday())
 
# 获取星期(0~6)
ic(d1.weekday())
 
'''
ic| d1.isocalendar(): datetime.IsoCalendarDate(year=2021, week=46, weekday=2)
ic| d1.isoweekday(): 2
ic| d1.weekday(): 1
'''

格式化时间

# 格式化时间
ic(d1.strftime('%Y/%m/%d'))
 
'''
ic| d1.strftime('%Y/%m/%d'): '2021/11/16'
'''

时间戳转换

# 时间戳转换为类似于元组的形式(localtime)
ic(d1.timetuple())
 
'''
ic| d1.timetuple(): time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=320, tm_isdst=-1)
'''

datetime模块

先来了解一下datatime的常用属性和方法

获取当前时间1【datatime】

# datetime类型
now = datetime.datetime.now()
print(now, type(now))
 
'''
2021-11-17 08:47:01.218928 <class 'datetime.datetime'>
'''

获取当前时间2【datatime】

# datetime类型
today = datetime.datetime.today()
print(today, type(today))
 
'''
2021-11-17 08:47:01.218928 <class 'datetime.datetime'>
'''

获取当前日期【str】

# str类型
d1 = datetime.datetime.now().strftime('%Y/%m/%d')
print(d1,type(d1))
 
'''
2021-11-17 
'''

datetime.timedelta类

now = datetime.datetime.now()
# 获取当前时间
print(now)
# 获取30天后的时间
print(now + datetime.timedelta(days=30))
# 获取30天前的时间
print(now - datetime.timedelta(days=30))
 
'''
2021-11-17 09:01:28.384255
2021-12-17 09:01:28.384255
2021-10-18 09:01:28.384255
'''

相关文章
|
6天前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
|
2天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
3天前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
1天前
|
消息中间件 监控 网络协议
Python中的Socket魔法:如何利用socket模块构建强大的网络通信
本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。
|
1天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
4天前
|
Python
Python 中常用的内置模块之`re`模块
【10月更文挑战第11天】 `re` 模块是 Python 内置的正则表达式处理工具,支持模式匹配、搜索、替换等功能。通过 `search`、`match`、`findall` 和 `sub` 等函数,结合正则表达式的元字符、分组、贪婪模式等特性,可高效完成文本处理任务。示例代码展示了基本用法,帮助快速上手。
9 1
|
4天前
|
JSON 数据格式 Python
Python基础-常用内置模块
【10月更文挑战第11天】 Python 内置模块丰富,涵盖系统交互、时间处理、数学运算、正则表达式、数据序列化等功能,如 `sys`、`os`、`time`、`datetime`、`random`、`math`、`re`、`json`、`pickle` 和 `csv` 等,极大提升了开发效率和代码质量。
8 1
|
4天前
|
Java Python
python知识点100篇系列(16)-python中如何获取线程的返回值
【10月更文挑战第3天】本文介绍了两种在Python中实现多线程并获取返回值的方法。第一种是通过自定义线程类继承`Thread`类,重写`run`和`join`方法来实现;第二种则是利用`concurrent.futures`库,通过`ThreadPoolExecutor`管理线程池,简化了线程管理和结果获取的过程,推荐使用。示例代码展示了这两种方法的具体实现方式。
python知识点100篇系列(16)-python中如何获取线程的返回值
|
8天前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
9 1
|
5天前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
18 0