【问题标题】:Problems parsing date like twitter解析日期的问题,如 twitter
【发布时间】:2012-07-05 14:44:32
【问题描述】:

我正在解析来自推特的推文,我想显示类似推特“40 分钟前发布”、“1 小时前发布”的日期,但我遇到以下问题:

当我收到用户推文时,推特给我这个格式(链接 json):

http://twitter.com/status/user_timeline/BarackObama.json?count=5&callback=308
"created_at": "Tue Jul 03 01:54:48 +0000 2012",

当我搜索一个主题标签时:

http://search.twitter.com/search.json?callback=?&rpp=5&q=%23wasabi
"created_at": "Thu, 05 Jul 2012 14:31:57 +0000",

谁能帮我解析这些日期?

【问题讨论】:

  • 你试过什么? var date = new Date(data.created_at) 适用于两种日期格式。

标签: javascript parsing date twitter


【解决方案1】:

这应该可行:

new Date(data.created_at);

(你也可以使用timeago - http://jsfiddle.net/ZhF6y/

【讨论】:

  • 但是..请更多代码..我不明白,我尝试使用时间但我必须转换日期,我不知道该怎么做
【解决方案2】:

John Resig 也有一个不错的小日期解析脚本。 http://ejohn.org/blog/javascript-pretty-date/

这是一个包含您需要的代码的 JSFiddle。

更新了示例推文抓取 - 你知道你想要我的答案;)

http://jsfiddle.net/ETACy/4/

【讨论】:

    【解决方案3】:

    如果您可以转换为 Unix 时间戳,请尝试 Livestamp.js。它不显眼且自动更新。

    【讨论】:

      【解决方案4】:

      我不是专家,但您不需要外部库,只需将 UTC 放在 + 号前面即可。

      var date = new Date(Date.parse(tweet.created_at.replace(/( \+)/, ' UTC$1')));
      

      灵感来自https://gist.github.com/ghostrocket/799429

      【讨论】:

        猜你喜欢
        • 2012-08-16
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        • 2011-05-30
        • 2013-03-26
        • 2011-11-24
        • 1970-01-01
        • 2016-04-22
        相关资源
        最近更新 更多