Python time包学习
Python的time包是处理时间常用的一个模块,下面是几个常用方法:
1. 获取当前时间戳
# 1. 获取时间戳
Current_timestamp = time.time()
print("当前时间戳:{}".format(Current_timestamp))
输出结果:
当前时间戳:1687751542.8208947
2. 获取当前时间的时间对象
# 2. 获取当前时间的时间对象
time_obj = time.localtime()
print("时间对象:{}".format(time_obj))
#2.1. 给定一个时间戳,来获取指定时间戳的时间对象
print("指定时间戳的时间对象:{}".format(time.localtime(Current_timestamp)))
#2.2. 获取时间对象的具体参数(年、月、日)
print("获取时间对象中的具体参数:{}".format(time.localtime().tm_year))
输出结果:
当前时间对象:time.struct_time(tm_year=2023, tm_mon=6, tm_mday=26, tm_hour=11, tm_min=54, tm_sec=15, tm_wday=0, tm_yday=177, tm_isdst=0)
指定时间戳的时间对象:time.struct_time(tm_year=2023, tm_mon=6, tm_mday=26, tm_hour=11, tm_min=54, tm_sec=15, tm_wday=0, tm_yday=177, tm_isdst=0)
获取时间对象中的具体参数:2023
3. 获取格林尼治时间(0时区)
# 3. 获取格林尼治时间(0时区)
print("获取格林尼治时间:{}".format(time.gmtime()))
#3.1. 给定一个时间戳,来获取指定时间戳的格林尼治时间
print("指定时间戳的格林尼治时间:{}".format(time.localtime(123)))
输出结果:
获取格林尼治时间:time.struct_time(tm_year=2023, tm_mon=6, tm_mday=26, tm_hour=8, tm_min=31, tm_sec=55, tm_wday=0, tm_yday=177, tm_isdst=0)
指定时间戳的格林尼治时间:time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=2, tm_sec=3, tm_wday=3, tm_yday=1, tm_isdst=0)
4. 将时间对象转化为时间戳
# 4. 把时间对象转化为时间戳
time_obj = time.localtime() # 获取当前时间的事件对象
timestamp = time.mktime(time_obj) # 将时间对象转化为时间戳
print("把时间对象转化为时间戳:{}".format(timestamp))
输出结果:
把时间对象转化为时间戳:1687768168.0
5. 等待时间
# 5. 睡眠
time.sleep(5)
输出结果:
系统会自动等待5秒钟时间再继续往下运行
6. 将时间对象转化为固定格式输出
# 6. 将时间对象转化为固定格式输出
time_obj = time.localtime() # 获取当前时间的事件对象
time1 = time.asctime(time_obj) # 将时间对象转化为固定格式输出
print("时间对象转化为固定格式输出:{}".format(time1))
7. 将时间戳进行固定格式输出
print("时间戳转化为固定格式输出:{}".format(time.ctime()))
print("时间戳转化为固定格式输出:{}".format(time.ctime(1667100980.5369587)))
输出结果:
时间戳转化为固定格式输出:Mon Jun 26 16:31:55 2023
时间戳转化为固定格式输出:Sun Oct 30 11:36:20 2022
8. 将时间对象转化为自定义格式输出
# 8. 将时间对象转化为自定义格式输出
time_now = time.strftime("%Y_%m_%d %H:%M:%S %A %B %p",time_obj)
print("将时间对象转化为自定义格式输出:{}".format(time_now))
输出结果:
将时间对象转化为自定义格式输出:2023_06_26 16:31:55 Monday June PM
9. 将时间字符串反转化为时间对象
# 9. 将表示时间的字符串反转化为时间对象
time_str = "2023_06_26 11:41:47 Monday June AM"
time_obj1 = time.strptime(time_str,"%Y_%m_%d %H:%M:%S %A %B %p")
print("将表示时间的字符串反转化为时间对象:{}".format(time_obj1))
输出结果:
将表示时间的字符串反转化为时间对象:time.struct_time(tm_year=2023, tm_mon=6, tm_mday=26, tm_hour=11, tm_min=41, tm_sec=47, tm_wday=0, tm_yday=177, tm_isdst=-1)