python时间戳是什么
时间戳是指格林威治时间自1970年1月1日(00:00:00 gmt)至当前时间的总秒数。它也被称为unix时间戳(unix timestamp)。
百度百科对时间戳的定义是,一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
在python中,时间戳是一串数字,当我们要把它转换为具有一定格式的时间数据如 ‘2018-08-08 11:11:11’ 时,需要用到time模块。同样,时间数据也可以转换为时间戳。
具体操作有如下几种:
立即学习“Python免费学习笔记(深入)”;
将时间转换为时间戳
重新格式化时间
时间戳转换为时间
获取当前时间及将其转换成时间戳(实际需求)
将时间转换成时间戳
将时间数据2018-08-08 11:11:11转换成时间戳,
具体的操作过程为:
利用strptime()函数将时间转换成时间数组!!
利用mktime()函数将时间数组转换成时间戳!!
import timedt = '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 timedt = '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 timetimestamp = 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# 转换为localtimelocaltime = time.localtime(current_time)# 利用strftime()函数重新格式化时间dt = time.strftime('%Y:%m:%d %H:%M:%S', localtime)print(dt) # 返回当前时间:2019:07:19 4:14:34