stripe.Customer.list返回错误的客户

时间:2017-02-21 01:03:40

标签: python stripe-payments

我目前正在进行查询以尝试查找昨天的utc0和今天的utc0之间的客户总数,但出于某种原因,虽然它返回客户在utc0之后的第一个小时左右

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日后立即生成的客户

1 个答案:

答案 0 :(得分:1)

datetime.utcnow()以UTC格式返回当前时间戳,但您将替换"小时 - 分钟 - 秒"带有零的时间戳的一部分。这与计算午夜UTC的时间戳不同。

请参阅此StackOverflow答案,了解如何根据您的时区可靠地计算午夜UTC的时间戳:https://stackoverflow.com/a/381788/5307473

请记住,Stripe的API需要UNIX时间戳,因此您应该在.strftime('%s')个实例上调用datetime以将它们转换为UNIX时间戳。