很多时候,在调用接口时,需要对请求进行签名。需要用到unix时间戳。
在python里,在网上介绍的很多方法,得到的时间戳是10位。而java里默认是13位(milliseconds,毫秒级的)。
下面介绍python获得时间戳的方法:
1、10位时间戳获取方法:强制转换是直接去掉小数位。
import time
a = time.time()
print(a)
print(int(a))
1554949545.1507404
1554949545
2、13位时间戳获取方法:
默认情况下python的时间戳是以秒为单位输出的float
通过把秒转换毫秒的方法获得13位的时间戳:round()是四舍五入。
import time
b = time.time()
c = int(round(b * 1000))
print(c)
1554949730014
13位时间 戳转换成时间:
import time
now = int(round(time.time()*1000))
print(now)
now2 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(now/1000))
print(now2)
1554949923557
2019-04-11 10:32:03
获取今天
获取昨天
import datetime
# 得到昨天的日期:
yesterday = datetime.date.today() - datetime.timedelta(days=1)
print(f'方法一:',yesterday)
# toordinal()和fromordinal(),它们分别是得到自公元元年1月1日起的天数和用此天数获得日期:
yesterday = datetime.date.fromordinal(datetime.date.today().toordinal() - 1)
print(f'方法二:',yesterday)
获取明天
import datetime
# 获取明天的日期:
tomorrow = datetime.date.today() + datetime.timedelta(days=1)
print(tomorrow)
# toordinal()和fromordinal(),它们分别是得到自公元元年1月1日起的天数和用此天数获得日期:
tomorrow = datetime.date.fromordinal(datetime.date.today().toordinal() + 1)
print(tomorrow)