Python中的datetime包与time包包和模块详情


Posted in Python onFebruary 28, 2022

一、datetime包

1.timedelta(params…)得到一个时间增量对象

# coding:utf-8

from datetime import timedelta

if __name__ == '__main__':
    # 常用参数 hours:小时 days:天 seconds:秒 milliseconds:毫秒
    delta = timedelta(hours=2)
    print(delta)  # 2:00:00
    print(type(delta))  # <class 'datetime.timedelta'>

2.timezone(timedelta) + timedelta(params…) 创建时区对象

# coding:utf-8

from datetime import timedelta, timezone

if __name__ == '__main__':
    delta = timedelta(hours=2)
    zone = timezone(delta)  #配合timedelta创建时区对象
    print(zone)  # UTC+02:00
    print(type(zone))  # <class 'datetime.timezone'>

3.datetime模块

datetime.now(timezone) 获取当前时间datetime对象
# coding:utf-8

from datetime import timedelta, timezone, datetime

if __name__ == '__main__':
    '''
    获取当前时间,可以获取指定时区的当前时间
    datetime.now(timezone)
    '''
    now = datetime.now()
    print(now)  # 2022-02-23 13:59:59.224286
    print(type(now))  # <class 'datetime.datetime'>

    # 设置指定时区的当前时间
    print(datetime.now((timezone(timedelta(hours=9)))))  # 2022-02-23 14:59:59.224286+09:00

datetime.strftime(fmt) datetime时间对象转字符串

# coding:utf-8

from datetime import datetime

if __name__ == '__main__':
    '''
    datetime.strftime(fmt)
    将时间对象转换成字符串
    fmt:格式化标准,由格式符组成
    常用格式符(年:%Y,月:%m,日:%D,时:%H,分:%M,秒:%S)
    '''
    now = datetime.now()
    print(now.strftime('%Y-%m-%d %H:%M:%S'))  # 2022-02-23 14:04:24

datetime.strptime(date_string,fmt) 字符串转成datetime时间对象

# coding:utf-8
from datetime import datetime

if __name__ == '__main__':
    '''
    datetime.strptime(date_string,fmt)
    将字符串转换成时间对象,要求date_string的格式完全匹配fmt格式化标准
    '''
    time_obj = datetime.strptime('2022-2-22', '%Y-%m-%d')
    # datetime.strptime('2022-2-22', '%Y-%m-%d %H') Error date_string 中不存在小时而fmt中要求有小时
    print(datetime.strptime('2022-2-22 14', '%Y-%m-%d %H'))  # 2022-02-22 14:00:00
    print(time_obj)  # 2022-02-22 00:00:00
    print(type(time_obj))  # <class 'datetime.datetime'>

datetime.timestamp(datetime_obj) 将datetime时间对象转换成秒级时间戳

# coding:utf-8

from datetime import datetime

if __name__ == '__main__':
    '''
    datetime.timestamp(datetime_obj) 
    datetime_obj:datetime 时间对象
    返回 float
    '''
    print(datetime.timestamp(datetime.now()))  # 1645598565.715

datetime.fromtimestamp(t) 将秒级时间戳转换成datetime时间对象

# coding:utf-8

from datetime import datetime, timedelta, timezone

if __name__ == '__main__':
    '''
    datetime.fromtimestamp(t)
    t:秒级时间戳 float类型
    返回:datetime时间对象
    '''
    datetime_obj = datetime.fromtimestamp(1645598565.715)
    print(datetime_obj)  # 2022-02-23 14:42:45.715000
    print(type(datetime_obj))  # <class 'datetime.datetime'>

4.使用datetime对象 + timedelta(params…) 进行时间运算

# coding:utf-8

from datetime import datetime, timedelta, timezone

if __name__ == '__main__':
    now = datetime.now()
    fmt = '%Y-%m-%d %H:%M:%S'
    print(now.strftime(fmt))  # 2022-02-23 15:07:01

    # 3小时后时间
    print((now + timedelta(hours=3)).strftime(fmt))  # 2022-02-23 18:07:01

    # 3小时前时间
    print((now - timedelta(hours=3)).strftime(fmt))  # 2022-02-23 12:07:01
    print((now + timedelta(hours=-3)).strftime(fmt))  # 2022-02-23 12:07:01

    # 建议timedelta的参数都使用正数(容易理解)

二、time包

1.time.time() 得到当前秒级时间戳

# coding:utf-8

import time

if __name__ == '__main__':
    print(time.time())  # 1645667203.7236724

2.time.localtime(second) 将秒转换成time时间对象

# coding:utf-8

import time

if __name__ == '__main__':
    # second 不填,则默认当前的时间戳
    t = time.localtime(time.time())
    t2 = time.localtime()
    print(t)  # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=10, tm_sec=8, tm_wday=3, tm_yday=55, tm_isdst=0)
    print(t2)  # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=10, tm_sec=8, tm_wday=3, tm_yday=55, tm_isdst=0)
    print(type(t))  # <class 'time.struct_time'>
    print(type(t2))  # <class 'time.struct_time'>

3.time.strftime(fmt,time_obj) 将time时间对象转换成字符串

# coding:utf-8

import time

if __name__ == '__main__':
    """
    time.strftime(fmt,time_obj)
    fmt:格式化标准 参考 datetime.strftime(fmt)
    time_obj:time时间对象,不填默认是当前日期的time时间对象
    """
    t = time.localtime(time.time() + 3600)
    print(time.strftime('%Y-%m-%d %H:%M:%S'))  # 2022-02-24 10:16:17
    print(time.strftime('%Y-%m-%d %H:%M:%S', t))  # 2022-02-24 11:16:17

4.time.strptime(time_string,fmt) 将字符串转换成time时间对象

# coding:utf-8

import time

if __name__ == '__main__':
    """
    time.strptime(time_string,fmt)
    参考 datetime.strptime(date_string,fmt)
    time_string:时间字符串
    fmt:格式化标准
    """
    fmt = '%Y-%m-%d %H:%M:%S'
    t = time.strftime(fmt, time.localtime())
    print(t)  # 2022-02-24 10:25:17
    print(time.strptime(t, fmt))  # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=25, tm_sec=40, tm_wday=3, tm_yday=55, tm_isdst=-1)

5.time.sleep(second) 休眠 second 秒

# coding:utf-8

import time

if __name__ == '__main__':
    print(time.time())  # 1645670183.6567423
    time.sleep(2)
    print(time.time())  # 1645670185.6708047

到此这篇关于Python中的datetime包与datetime包和模块详情的文章就介绍到这了,更多相关Python时间相关包和模块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
Python中max函数用于二维列表的实例
Apr 03 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
解决Mac下使用python的坑
Aug 13 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
Django中ORM的基本使用教程
Dec 22 Python
Python实现socket库网络通信套接字
Jun 04 Python
分享7个 Python 实战项目练习
Mar 03 Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
Python matplotlib可视化之绘制韦恩图
You might like
php中转义mysql语句的实现代码
2011/06/24 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
php for 循环使用的简单实例
2016/06/02 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
nodejs对express中next函数的一些理解
2017/09/08 NodeJs
React注册倒计时功能的实现
2018/09/06 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
Python 加密的实例详解
2017/10/09 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
浅析Python 序列化与反序列化
2020/08/05 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
2014年党员自我评议(5篇)
2014/09/12 职场文书
企业法人授权委托书
2014/09/25 职场文书
钳工实训报告总结
2014/11/04 职场文书
工商行政处罚决定书
2015/06/24 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python