时间与时间戳

转自  的总结: https://blog.csdn.net/google19890102/article/details/51355282
%Y: 年 %m: 月 %d: 天 %H: 小时 %M:分钟 %S:秒

 

1. 将时间变为时间戳 如: 2019-04-20 23:59:59  -> 1556553599000

  • 利用strptime()函数将时间转换成时间数组
  • 利用mktime()函数将时间数组转换成时间戳
import time

dt = "2019-04-20 23:59:59"

#转换成时间数组
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
#转换成时间戳
timestamp = time.mktime(timeArray)

print timestamp

2. 重新格式化时间, 如 2019-04-20 23:59:59 -> 20190420-23:59:59, 变为另一种显示样式

  • 利用strptime()函数将时间转换成时间数组
  • 利用strftime()函数重新格式化时间
import time

dt = "2019-04-20 23:59:59"

#转换成时间数组
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
#转换成新的时间格式(20190420-23:59:59)
dt_new = time.strftime("%Y%m%d-%H:%M:%S",timeArray)

print dt_new

3. 时间戳转化为时间  , 如 1556553599000 -> 2019-04-20 23:59:59

  • 利用localtime()函数将时间戳转化成localtime的格式
  • 利用strftime()函数重新格式化时间
import time

timestamp = 1556553599000

#转换成localtime, 这个函数默认处理的是10位时间戳,但是经常用到的是13位,因此将时间戳整除1000转换成秒级别来处理
time_local = time.localtime(timestamp//1000)
#转换成新的时间格式(2019-04-20 23:59:59)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)

print dt

4. 按指定格式获取当前时间 

  • 利用time()获取当前时间
  • 再利用localtime()函数转换为localtime
  • 最后利用strftime()函数重新格式化时间。
import time
# 获取当前时间,获取到当前时间戳(是10位!!!)的
# 如果想要获取13位, int(round(time.time()*1000))
time_now = int(time.time())
#转换成localtime
time_local = time.localtime(time_now)
#转换成新的时间格式(2016-05-09 18:59:20), 这里随便想转换什么格式
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)

 

5. 获取昨天、今天、明天开始、结束时间戳  https://blog.csdn.net/qq_26656329/article/details/73658250

import time
import datetime

# 今天日期
today = datetime.date.today()
# 昨天时间
yesterday = today - datetime.timedelta(days=1)
# 明天时间
tomorrow = today + datetime.timedelta(days=1)

acquire = today + datetime.timedelta(days=2)

# 昨天开始时间戳
yesterday_start_time = int(time.mktime(time.strptime(str(yesterday), '%Y-%m-%d')))

# 昨天结束时间戳
yesterday_end_time = int(time.mktime(time.strptime(str(today), '%Y-%m-%d'))) - 1

# 今天开始时间戳
today_start_time = yesterday_end_time + 1

# 今天结束时间戳
today_end_time = int(time.mktime(time.strptime(str(tomorrow), '%Y-%m-%d'))) - 1

# 明天开始时间戳
tomorrow_start_time = int(time.mktime(time.strptime(str(tomorrow), '%Y-%m-%d')))

# 明天结束时间戳
tomorrow_end_time = int(time.mktime(time.strptime(str(acquire), '%Y-%m-%d'))) - 1

 

posted on 2019-04-28 14:52  mlllily  阅读(175)  评论(0)    收藏  举报