【问题标题】:Instagram API created_time to date with Moment.jsInstagram API created_time to date with Moment.js
【发布时间】:2016-07-29 23:23:15
【问题描述】:

我想将 Instagram API 中 created_time 的字符串 JSON 对象解析为可读日期。我读过几篇文章说new Date("1923111")(无论created_time 是什么)都可以解决这个问题,但我得到了一个无效的日期错误。

我想使用 Moment.js 来解析它:

moment.unix(created_time).format("MMMM D, YYYY")

但我收到1469576855000-20en 作为输出。有没有其他方法可以做到这一点?

【问题讨论】:

  • 上面的代码完全适合我。我假设 1469576855000 是以毫秒为单位的 unix 时间戳。将1469576855 加载到moment.unix(m).format("MMMM D, YYYY") 会返回日期。
  • 我将 created_time 作为后端的 JSON 字符串传入,是否与此有关?它必须是 int 吗?
  • 你能发布你的完整代码吗?
  • 部分代码:jsfiddle.net/s961cbe2
  • 已解决。看起来这是我的一个错字。

标签: javascript json instagram-api


【解决方案1】:
var date = new Date(image.created_time*1000);

 m = date.getMonth();
 d = date.getDate();
 y = date.getFullYear();

var month_names = new Array ( );
month_names[month_names.length] = "01";
month_names[month_names.length] = "02";
month_names[month_names.length] = "03";
month_names[month_names.length] = "04";
month_names[month_names.length] = "05";
month_names[month_names.length] = "06";
month_names[month_names.length] = "07";
month_names[month_names.length] = "08";
month_names[month_names.length] = "09";
month_names[month_names.length] = "10";
month_names[month_names.length] = "11";
month_names[month_names.length] = "12";

var thetime = y + '-' + month_names[m] + '-' + d;

image.created_time = thetime;

return true;

【讨论】:

    【解决方案2】:
    var date = new Date(parseInt(created_time) * 1000);
    
    var month = (date.getMonth()+1);
    var date = date.getDate();
    var fullYear = date.getFullYear();
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性 cmets 挤满你的代码,因为这会降低代码和解释的可读性!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2014-08-22
    • 1970-01-01
    • 2022-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多