时间与时间戳如何转换

时间与时间戳的转换(Python)

首先,什么是时间戳?

  • 时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。它也被称为Unix时间戳(Unix Timestamp)。
  • 百度百科对时间戳的定义是,一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。

在python中,时间戳是一串数字,当我们要把它转换为具有一定格式的时间数据如 ‘2018-08-08 11:11:11’ 时,需要用到time模块。同样,时间数据也可以转换为时间戳。

具体操作有如下几种:

  • 将时间转换为时间戳
  • 重新格式化时间
  • 时间戳转换为时间
  • 获取当前时间及将其转换成时间戳(实际需求)

1、将时间转换成时间戳

将时间数据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

2、重新格式化时间

重新格式化时间需要以下的两个步骤:

  • 利用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

3、将时间戳转换成时间

在时间戳转换成时间中,首先需要将时间戳转换成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

4、按指定的格式获取当前时间!!☆重点掌握

基本步骤:

  • 利用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) # 返回当前时间:2018:09:25 19:14:34

参考原文

猜你喜欢

转载自blog.csdn.net/niubiqigai/article/details/82846941