时区、账号和计费
日期时间值始终以 UTC 时间(如日期时间值结尾的 Z 所示)返回。 可在 POST 或 PUT 命令中使用时区的 ISO 8601 标准格式指定任何时区的日期时间。时间将使用 ISO-8601 的子集来表示。具体而言,我们日期格式的 strptime 字符串为“%Y-%m-%dT%l:%M:%S%z”。广告商账号的时区决定冻结正式计费编号的实际时间。
在账号级别 (GET accounts) 查询 API 时,会获得类似以下内容的时区信息:
{
"request": {
"params": {
"account_id": "18ce54d4x5t"
}
},
"data": {
"name": "API McTestface",
"business_name": null,
"timezone": "America/Los_Angeles",
"timezone_switch_at": "2016-07-21T07:00:00Z",
"id": "18ce54d4x5t",
"created_at": "2016-07-21T22:42:09Z",
"salt": "54cb7b5a34183f77d82dd6d0f4329691",
"updated_at": "2017-09-09T06:42:14Z",
"business_id": null,
"approval_status": "ACCEPTED",
"deleted": false
}
}
其中包括两个时区值:timezone
(请参见维基百科上关于时区的信息进行总体了解)和 timezone_switch_at
。请注意,timezone_switch_at
是以 UTC 时区 (+00:00) 表示,但此值始终表示给定时区的午夜。
广告商的时区无法通过 API 进行编辑。此属性由 Twitter 服务于广告商的客户经理在合约/计费级别上设置。
由于账号从 America/Los_Angeles 时区切换为新的本地时区的当日存在时间差,因此,请在创建报告并查询我们的分析端点时注意 timezone_switch_at
值。
使用时区指定日期时间值
日期时间值始终以 UTC 时间返回(如日期时间值末尾的 Z
所指示)。可使用适用于时区的 ISO 8601 标准格式在 POST 或 PUT 命令中以任何时区指定日期时间。例如,2017-07-10T08:00:00-0800
是可接受的输入值,其会自动转换为 UTC 值 2017-07-10T16:00:00Z
。
将分析端点与 DAY
或 TOTAL
的 granularity
结合使用时,start_time
值必须指定为账号持有者本地时区中所需日期的午夜。将采用的时区偏移量是当前日的偏移量,而不是所讨论日期的偏移量。例如,对于 America/Los_Angeles 时区中采用太平洋夏令时间的广告账号,UTC 偏移量为 -0700。因此,在分析请求中,时间应指定为:start_time=2017-05-21T07:00:00Z
或 start_time=2017-05-21T00:00:00-0700
。如果广告账号处于 Asia/Tokyo 时区(时区偏移量始终为 +09:00),值应指定为:start_time=2017-05-20T15:00:00Z
或 start_time=2017-05-21T00:00:00+0900
。