python 时间的各种转换time、datetime
2021-03-26 本文已影响0人
jinjin1009
1、将当前时间datetime.datetime 转换为时间戳,具体操作过程为:
1.1 生成 2021-03-26 17:55:58 形式 str类型的值
1.2 利用strptime() 将时间转换为时间数组,str变为时间数组
1.3 利用mktime() 将时间数组转换为时间戳
import time
import datetime
time_now = datetime.datetime.now()
print("time_now的类型为:")
print(type(time_now))
print(time_now)
print('----------')
# 将time_now进行格式化,生成str类型
time_str = time_now.strftime("%Y-%m-%d %H:%M:%S")
print(time_str)
print(type(time_str))
print('----------')
timeArray = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(timeArray)
print(type(timeArray))
print('----------')
timestamp = time.mktime(timeArray)
print(timestamp)
print(type(timestamp))
生成文件为:
time_now的类型为:
<class 'datetime.datetime'>
2021-03-26 17:55:58.124420
----------
2021-03-26 17:55:58
<class 'str'>
----------
time.struct_time(tm_year=2021, tm_mon=3, tm_mday=26, tm_hour=17, tm_min=55, tm_sec=58, tm_wday=4, tm_yday=85, tm_isdst=-1)
<class 'time.struct_time'>
----------
1616752558.0
<class 'float'>
2、重新格式化时间,具体操作步骤为:
2.1 利用strptime() 函数将时间转换为时间数组
2.2 利用strftime() 函数重新格式化时间
import time
dt = "2016-05-05 20:28:54"
# 转换成时间数组
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
# 转换成新的时间格式(20160505-20:28:54)
dt_new = time.strftime("%Y%m%d-%H:%M:%S", timeArray)
print(dt_new)
20160505-20:28:54
3、将时间戳转换为时间
首先需要将时间戳转换为localtime,再转换成时间的具体格式
3.1 利用localtime()函数将时间戳转化成localtime的格式
3.2 利用strftime()函数重新格式化时间
import time
timestamp = 1462451334
# 转换成localtime
time_local = time.localtime(timestamp)
# 转换成新的时间格式(2016-05-05 20:28:54)
dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local)
print(dt)
print(type(dt))
2016-05-05 20:28:54
<class 'str'>
4、按照指定的格式获取当前时间
利用time()获取当前时间,再利用localtime()函数转换为localtime,最后利用strftime()重新格式化时间。
import time
time_now = int(time.time())
print(time_now)
print(type(time_now))
time_local = time.localtime(time_now)
print(type(time_local))
dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local)
print(dt)
1617002386
<class 'int'>
<class 'time.struct_time'>
2021-03-29 15:19:46