Ruby on rails 针对使用UTC(Twilio)的API进行调整

Ruby on rails 针对使用UTC(Twilio)的API进行调整,ruby-on-rails,twilio,Ruby On Rails,Twilio,我正在使用TwilioAPI,不知道如何调整我的请求以补偿它使用UTC的事实。我有一个heroku工作人员,每天早上4点运行,收集前一天打给用户帐户的所有电话。但是,由于UTC的原因,它收集的电话不是我认为“昨天”(我在太平洋标准时间)的正确电话 例如,如果我提出以下请求(例如他们的文档) @client.account.calls.list({:status=>“completed”,:start\u time=>“2014-06-01”}) 我没有在回复中收到6月1日起的所有电话,而是在5月

我正在使用TwilioAPI,不知道如何调整我的请求以补偿它使用UTC的事实。我有一个heroku工作人员,每天早上4点运行,收集前一天打给用户帐户的所有电话。但是,由于UTC的原因,它收集的电话不是我认为“昨天”(我在太平洋标准时间)的正确电话

例如,如果我提出以下请求(例如他们的文档)

@client.account.calls.list({:status=>“completed”,:start\u time=>“2014-06-01”})

我没有在回复中收到6月1日起的所有电话,而是在5月31日下午5点到6月1日下午5点之间收到了所有电话-从前一天起7小时,从第二天起17小时

我的实际员工请求将类似于这样

date = date = (Date.yesterday).strftime("%Y-%m-%d")
@sub_account.account.calls.list({:status => "completed", :start_time => date})
我这样操作date对象安全吗

date = (Date.yesterday - 7.hours).strftime("%Y-%m-%d")
这是我通常应该如何在UTC上处理API的最佳实践吗?在提出请求之前,是否在我这一边操纵日期对象


我仍然看到他们在接口中报告的内容与API请求之间的不一致,但两者之间的差异较小。据我所知,他们的帐户界面从未与API完全匹配,API对我来说很重要。

我认为避免所有时区混淆的最简单方法是在数据库中仅将日期/时间存储为UTC。然后,当您必须向用户显示时,您可以将其格式化为时区,并在其他任何地方使用UTC。嘿,这里是Twilio员工。UTC是“计算机时间”的标准,就像前面的评论一样,我建议将所有日期时间戳存储在UTC中,并以编程方式转换它们以补偿您的时区。因为我每天都在下载(客户需要在第二天查看统计数据)我应该假设,在第二天也得到数据之前,我无法收集整整一天的数据。6月2日的Ex-want统计数据,在6月3日的刮擦结束之前无法获得,因为UTC时间的一天比我提前7小时结束,对吗?我在很多其他API中采用了类似的DailyWorker模型,但事实并非如此,包括Plivo