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

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

目录

一、datetime包

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

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

3.datetime模块

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

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

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

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

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

二、time包

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

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

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

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

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

一、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时间相关包和模块内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读