一、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 0 ? ? 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中的datetime包与time包包和模块详情的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did99773