Python开发工作中实用时间(datetime,time)转化小技巧
# Python开发工作中使用时间转化小技巧:
# 时间戳转日期
# 日期转时间戳
# 格式化时间
# 指定格式获取当前时间
# 时间戳转成具体时间,需要两个函数:
# time.localtime:将时间戳转成时间元组形式
# time.strftime:将时间元组数据转成我们需要的形式
import time
now_timestamp = time.time()
print(now_timestamp)
# 1614568419.4384453
now_tuple = time.localtime(now_timestamp) # 不给参数则默认是当前时间戳
print(now_tuple)
# time.struct_time(tm_year=2021, tm_mon=3, tm_mday=1,
# tm_hour=11, tm_min=13, tm_sec=39, tm_wday=0, tm_yday=60, tm_isdst=0)
now_datetime = time.strftime("%Y/%m/%d %H:%M:%S", now_tuple)
print(now_datetime)
# 2021/03/01 11:15:20
a_timestamp = 1614568520
a_tuple = time.localtime(a_timestamp)
print(a_tuple)
# time.struct_time(tm_year=2021, tm_mon=3, tm_mday=1,
# tm_hour=11, tm_min=15, tm_sec=20, tm_wday=0, tm_yday=60, tm_isdst=0)
a_datetime = time.strftime("%Y/%m/%d %H:%M:%S", a_tuple)
print(a_datetime)
# 2021/03/01 11:15:20
# 不指定具体的时间格式,只想获得时间戳对应的时间,直接通过time.ctime
a1_datetime = time.ctime(a_timestamp)
print(a1_datetime)
# Mon Mar 1 11:15:20 2021
# 日期时间转成时间戳
# 日期时间转成时间戳格式,需要使用两个方法:
# strptime():将时间转化成时间数组
# mktime():将时间数组转化成时间戳
b_datetime = now_datetime
# 时间字符串转成时间数据形式
b_date_array = time.strptime(b_datetime, "%Y/%m/%d %H:%M:%S")
print(b_date_array)
# time.struct_time(tm_year=2021, tm_mon=3, tm_mday=1, tm_hour=11,
# tm_min=34, tm_sec=15, tm_wday=0, tm_yday=60, tm_isdst=-1)
# 时间数组转成时间戳
b_date_timestamp = time.mktime(b_date_array)
print(b_date_timestamp)
# 1614569655.0
# 时间格式化
# strptime():将时间转化成时间数组
# strftime():格式化时间
c_old_datetime = "2020-12-21 12:15:16"
c_timestamp = time.strptime(c_old_datetime, "%Y-%m-%d %H:%M:%S")
print(c_timestamp)
# time.struct_time(tm_year=2020, tm_mon=12, tm_mday=21, tm_hour=12,
# tm_min=15, tm_sec=16, tm_wday=0, tm_yday=356, tm_isdst=-1)
c_new_datetime = time.strftime("%Y/%m/%d %H:%M:%S", c_timestamp)
print(c_new_datetime)
# 2020/12/21 12:15:16
# 指定格式获取当前时间,分为三个步楱:
# time.time():获取当前时间
# time.localtime():转成时间元组
# time.strftime():重新格式化时间
d_old_time = time.time()
d_time_array = time.localtime(d_old_time)
d_new_time = time.strftime("%Y/%m/%d %H:%M:%S", d_time_array)
print(d_new_time)
# 2021/03/01 11:44:19