Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MomentJS变化';一天前';至';1d';_Javascript_Frontend_Momentjs - Fatal编程技术网

Javascript MomentJS变化';一天前';至';1d';

Javascript MomentJS变化';一天前';至';1d';,javascript,frontend,momentjs,Javascript,Frontend,Momentjs,我有一个JSON格式的日期,比如:2017-08-01T23:28:56.782Z 我给它fromNow()以显示一个月前的相对日期 是否有一种方法可以将其格式化为显示类似于30d?我想我可能有点过时了,因为离目标日期还有36天 var a = moment(); // today var b = moment("2017-08-01T23:28:56.782Z"); // target date var diffInDays = a.diff(b, 'days') + 'd'; // 36d;

我有一个JSON格式的日期,比如:
2017-08-01T23:28:56.782Z
我给它
fromNow()
以显示一个月前的相对日期


是否有一种方法可以将其格式化为显示类似于
30d

我想我可能有点过时了,因为离目标日期还有36天

var a = moment(); // today
var b = moment("2017-08-01T23:28:56.782Z"); // target date
var diffInDays = a.diff(b, 'days') + 'd'; // 36d;
上面的代码获取从指定目标日期算起的天数。

您可以使用它来自定义时刻相对时间的阈值。在您的情况下,可以更新表示以下内容的
d
属性:

var a = moment(); // today
var b = moment("2017-08-01T23:28:56.782Z"); // target date
var diffInDays = a.diff(b, 'days') + 'd'; // 36d;
每月应考虑的最少天数

如果要显示
d
而不是天,可以使用带有
updateScale
方法的customize属性

如果要从输出中删除后缀(例如in/ago),只需使用
fromNow(true)

这里是一个工作示例:

var m=力矩('2017-08-01T23:28:56.782Z');
log(m.fromNow());
相对稳定力矩('d',30*12);
时刻更新刻度('en'{
相对时间:{
dd:“%dd”,
}
});
console.log(m.fromNow(true))

1%d将打印数字的个数。
2. 将显示Sting文本。例如:秒、秒、秒、秒、秒、秒

输出:1d、1w、1y、

const TIME_ZONE = -1 * new Date().getTimezoneOffset() / 60;

 this.getDateFrom("2018-02-22 14:27:56");

 getDateFrom(givenDate) {
    return moment(givenDate)
      .add(TIME_ZONE, "hours")
      .fromNow(
        updateLocale("en", {
          relativeTime: {
            future: "in %s",
            past: "%s ",
            s: "sec",
            m: "%d m",
            mm: "%d m",
            h: "%d h",
            hh: "%d h",
            d: "%d d",
            dd: "%d d",
            M: "a mth",
            MM: "%d mths",
            y: "y",
            yy: "%d y"
          }
        })
      );
  }
其他方式
从现在开始(true)
:true将调整您的格式(1周前)


输出:一天、一周、一年,

请参阅,如果您想按矩.js的方式执行,这是一个更好的答案。同意,这将是按矩.js的方式执行的方式。