很多時候,在調用接口時,需要對請求進行簽名。需要用到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)