时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。它也被称为Unix时间戳(Unix Timestamp)。
百度百科对时间戳的定义是,一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
在python中,时间戳是一串数字,当我们要把它转换为具有一定格式的时间数据如 ‘2018-08-08 11:11:11’ 时,需要用到time模块。同样,时间数据也可以转换为时间戳。
具体操作有如下几种:
将时间转换为时间戳
重新格式化时间
时间戳转换为时间
获取当前时间及将其转换成时间戳(实际需求)
将时间转换成时间戳
将时间数据2018-08-08 11:11:11转换成时间戳,
具体的操作过程为:
利用strptime()函数将时间转换成时间数组!!
利用mktime()函数将时间数组转换成时间戳!!
import time
dt = '2018-08-08 11:11:11'
# 将时间转换成时间数组
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
print(timeArray)
#time.struct_time(tm_year=2018, tm_mon=8, tm_mday=8, tm_hour=11, tm_min=11,tm_sec=11,tm_wday=2,tm_yday=220,tm_isdst=-1)
print(timeArray[0]) # 2018
# 将时间数组转换成时间戳
timestamp = time.mktime(timeArray)
print(timestamp) # 1533697871.0
|
重新格式化时间
重新格式化时间需要以下的两个步骤:
利用strptime()函数将时间转换成时间数组
利用strftime()函数重新格式化时间
import time
dt = '2018-08-08 11:11:11'
# 利用strptime()函数将时间转换成时间数组
timeArray = time.strptime(dt, '%Y-%m-%d %H:%M:%S')
# 利用strftime()函数重新格式化时间
dt_new = time.strftime('%Y-%m-%d - %H:%M:%S',timeArray)
print(dt_new) # 2018-08-08 - 11:11:11
|
将时间戳转换成时间
在时间戳转换成时间中,首先需要将时间戳转换成localtime,再转换成时间的具体格式:
利用localtime()函数将时间戳转化成localtime的格式
利用strftime()函数重新格式化时间
import time
timestamp = 1533697871.0
# 利用localtime()函数将时间戳转化成时间数组
localtime = time.localtime(timestamp)
print(localtime)
#time.struct_time(tm_year=2018, tm_mon=8, tm_mday=8,tm_hour=11,tm_min=11,tm_sec=11, tm_wday=2, tm_yday=220, tm_isdst=0)
# 利用strftime()函数重新格式化时间
dt = time.strftime('%Y:%m:%d %H:%M:%S',localtime)
print(dt) # 2018:08:08 11:11:11
|
按指定的格式获取当前时间
基本步骤:
利用time()获取当前时间,
再利用localtime()函数转换为localtime(本地)时间数组,
最后利用strftime()函数重新格式化时间。
import time
# 获取当前时间
current_time = int(time.time())
print(current_time) # 1537873862
# 转换为localtime
localtime = time.localtime(current_time)
# 利用strftime()函数重新格式化时间
dt = time.strftime('%Y:%m:%d %H:%M:%S', localtime)
print(dt) # 返回当前时间:2019:07:19 4:14:34
|
(责任编辑:yang) |