我目前正在执行一个查询,试图查找昨天的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时间,但这将返回昨天做出的客户+在UTC日期重置后立即做出的客户
发布于 2017-02-21 17:23:18
datetime.utcnow()返回以协调世界时为单位的当前时间戳,但是您随后将时间戳中的“小时-分钟-秒”部分替换为零。这与计算午夜UTC的时间戳不是一回事。
请参阅以下StackOverflow答案,了解如何根据您的时区可靠地计算午夜协调世界时的时间戳:https://stackoverflow.com/a/381788/5307473。
请记住,Stripe的API需要UNIX时间戳,因此您应该在datetime实例上调用.strftime('%s')将它们转换为UNIX时间戳。
https://stackoverflow.com/questions/42356912
复制相似问题