Python Google App Engine(GAE)
在数据存储区中,我在条目上存储了日期时间,这是UTC(预期行为)。
问题在于使用query.filter来抓取另一个时区的特定日期。
示例GAE数据存储日期时间条目(UTC):
足够简单,可以使用UTC按日期提取这些条目:
query_date = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
query.filter('DateTimeUTC >=', query_date)
query.filter('DateTimeUTC <', query_date+timedelta(days=1))
或者像这样:
start_date = datetime.strptime('11/04/2014', '%m/%d/%Y')
end_date = datetime.strptime('11/05/2014', '%m/%d/%Y')
query.filter('DateTimeUTC >=', start_date)
query.filter('DateTimeUTC <', end_date)
但是,让我们考虑一下这样一个事实:虽然这三个条目是按照UTC原则于2014年4月11日输入的,但原始用户是在PST中,因此第三个条目实际上是在11/03/2014 ,而不是4号(UTC时间凌晨1点=太平洋标准时间下午5点)。
因此,使用此示例代码和数据,让我们想象一个更大的数据集,所有数据都由PST,EST等用户输入,现在您正在尝试为每个他们(让我们专注于PST以保持一致 - UTC-8)。
如何查询特定时区内的天数而不是使用UTC的天数定义?
再次尝试坚持使用PST,这样我们就可以在同一页面上。
我尝试使用这种格式保持简单和干净,但如果我在GAE上的代码风格性能较慢或者有更好的路径(通过与此相比的速度证明)那么我&#39我全都是为了它。
答案 0 :(得分:0)
将当地日期的开始和结束时间转换为UTC,然后在这些UTC时间之间进行查询。