2017-02-21 51 views
0

我目前正在做一個查詢,試圖找到昨天的utc0和今天的utc0之間的客戶總數,由於某種原因,雖然它返回客戶在utc0後第一個小時左右發出stripe.Customer.list返回錯誤的客戶

import stripe 
from datetime import datetime, timedelta 
stripe.api_key = app_config.STRIPE_KEY['secret_key'] 

yesterday_utc = datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0) - timedelta(1) 
today_utc = datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0) 
print(len(stripe.Customer.list(created={"gte":yesterday_utc, "lte":today_utc})['data'])) 

不知道如果我打電話了錯誤的UTC時間,但它返回的客人在昨日+是在UTC時間的復位後立即

回答

1

datetime.utcnow()返回UTC當前時間戳的那些,但是您可以用零替換時間戳的「小時 - 分鐘」部分。這與計算午夜UTC的時間戳不同。

有關如何根據您的時區可靠地計算UTC午夜時間戳的信息,請參閱此StackOverflow答案:https://stackoverflow.com/a/381788/5307473

請記住,Stripe的API需要UNIX時間戳,因此您應該在datetime實例上調用.strftime('%s')將它們轉換爲UNIX時間戳。