datetime模块处理时间
分类:
Python
python常用的处理时间的库有:datetime,time,calendar。datetime库包括了date(储存日期:(年、月、日),time(储存时间:(小时、分、秒和微秒),timedelta代表两个datetime之间的差(天、秒、微秒)。
一、datetime处理日期
- datetime.now():
当前时间
- datetime.timedelta():计算相差天数和秒数
- datetime():创建datetime格式
1. datetime.now()
1 2 3 4 | from datetime import datetime now = datetime.now() print (f '当前时间:{now}' ) print (f '{now.year}年{now.month}月{now.day}日' ) |
2. datetime.timedelta()
timedelta计算相差天数和秒数
1 2 3 4 5 | from datetime import timedelta delta = timedelta(days = 1 ,seconds = 1300 ) delta_seconds = delta.total_seconds() print (delta_seconds / 3600 ) print (delta_seconds) |
1 2 3 4 | from datetime import timedelta start = datetime( 2019 , 4 , 1 ) #计算50天后是哪一天 start + timedelta( 50 ) |
3. datetime( )
(1)创建datetime格式
1 | datetime( % Y, % m, % d, % H, % M, % S) |
datetime共有6个参数,分别代表的是年月日时分秒。其中年月日是必须要传入的参数,时分秒可以不传入,默认全为零。
二、时间格式处理及转换
1. str.strftime('格式')
(1)datetime格式转换成字符串
1 | stamp = datetime( 2019 , 4 , 6 ) |
datetime.strptime只能根据设定的时间格式来处理指定的字符串,如果列表里(list)包含不止一种格式的字符串,如datestr=['12/20/2018','12/11/2018','2018-10-18'],使用datetime.strptime就很难处理了。这时候,可以使用第三方dateutil包的parser.parse方法。这个包能够解析大部分人类可理解的日期表示。
(2)parser.parse
日期出现在月份之前,可以通过传递dayfirst=True来表明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | from dateutil.parser import parse datestr = [ '12/20/2018' , '20180210' , '2019-01-10' ] #转换成datetime格式 new_d = [parse(d) for d in datestr] #统一为12/20/2018格式 d1 = [d.strftime( '%m/%d/%Y' ) for d in new_d] d2 = [d.strftime( '%Y%m%d' ) for d in new_d] d3 = [d.strftime( '%Y-%m-%d' ) for d in new_d] d4 = [d.strftime( '%y-%m-%d' ) for d in new_d] print (f 'datetime格式:\n{new_d}' ) print (f '"月/日/年"格式:\n {d1}' ) print (f '"年月日"格式:\n{d2}' ) print (f '"年-月-日格式":\n{d3}' ) print (f '"年(后两位)-月-日"格式:\n{d4}' ) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现