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 捕获shell脚本的输出结果实例
Jan 04 Python
Python随机读取文件实现实例
May 25 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
使用django-crontab实现定时任务的示例
Feb 26 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
python构建指数平滑预测模型示例
Nov 21 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
pycharm全局搜索的具体步骤
Jul 28 Python
python 操作excel表格的方法
Dec 05 Python
Python Matplotlib库实现画局部图
Nov 17 Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
Python matplotlib可视化之绘制韦恩图
You might like
PHP编程与应用
2006/10/09 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
PHP实现简易计算器功能
2020/08/28 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
房屋公证委托书
2014/04/03 职场文书
单位消防安全责任书
2014/07/23 职场文书
2014年教师节演讲稿范文
2014/09/10 职场文书
在职员工证明书
2014/09/19 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
营销计划书范文
2015/01/17 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
为自己工作观后感
2015/06/11 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android