【问题标题】:Foursquare API - checkin.createdAtFoursquare API - checkin.createdAt
【发布时间】:2023-03-25 12:44:01
【问题描述】:

我正在为 4sq 开发应用程序,用于监控用户的签到并建立航班统计数据 (JetLovers.com)。有时我会在 checkin 的 createdAt 中看到非常奇怪的数据,例如:

2012-05-03 04:22:37 38.769611 -9.131699 里斯本机场 (LIS) 2012-05-03 04:23:00 40.644569 -73.783493 约翰·F·肯尼迪国际机场 (JFK)

我怀疑这个人找到了传送机,并在 3 秒内行驶了 3000 英里。

我的问题是这些数据是如何生成的以及我们如何依赖它。

【问题讨论】:

  • 如果时间是当地时间的话可以吗?
  • 不,由于文档:“自创建此签入的纪元以来的秒数。”
  • 但是您的帖子不显示秒,而是显示日期/时间字符串。您真的确定它没有在转换过程中本地化吗?因为时差和飞行时间肯定让这成为可能。
  • 或者,也许有人试图在 JFK 办理登机手续,在办理登机手续完成之前关闭手机,然后在抵达里斯本时缓存并重新发送?顺便说一句,这是 23 秒,而不是 3 秒。
  • 你说得对,23 秒 :) 对人类来说还是太快了。

标签: api foursquare checkin


【解决方案1】:

我认为 checkins createdAt 数据带有时间值(从 1970 年开始计算),没有毫秒和 timeZoneOffset,我在两个地方签到,相差 1 秒。

{
    "id":"4fc88864e4b04ec64af27a3c",
    "createdAt":1338542180,
    "type":"checkin",
    "shout":"He he",
    "timeZone":"America\/New_York",
    "timeZoneOffset":-240,
    "venue":{
            "id":"4eb1386282317685624c2e18",
            "name":"11220 Brooklyn, NY",
            "contact":{},
            "location":{
                    "lat":40.65082835341778,
                    "lng":-74.00814735447314,
                    "country":"United States"
             }
     }
}



{
    "id":"4fc88863e4b005dcbe793e44",
    "createdAt":1338542179,
    "type":"checkin",
    "shout":"Original place",
    "timeZone":"Asia\/Kolkata",
    "timeZoneOffset":330,
    "venue":{
        "id":"4f45d635e4b035f2e5635241",
        "name":"Prernathirth Derasar",
        "contact":{},
        "location":{
            "lat":23.020828247070312,
            "lng":72.52046966552734,
            "country":"India"
        }
    }
}

这里我在 1 秒的时间跨度内在两个不同的地方签到,您可以看到 timeZoneOffset 用于区分时区。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多