使用MomentJS无法获得时差

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用MomentJS无法获得时差相关的知识,希望对你有一定的参考价值。

嗨,我正在尝试使用MomentJS来获取时间差,因此我可以建立一个倒数时钟。问题是我收到此错误:

弃用警告:提供的值不是公认的RFC2822或ISO格式。此刻的构建可以归结为js Date(),它在所有浏览器和版本之间都不可靠。不建议使用非RFC2822 / ISO日期格式,并将在即将发布的主要版本中将其删除。有关更多信息,请参考http://momentjs.com/guides/#/warnings/js-date/。参数:[0] _isAMomentObject:true,_isUTC:false,_useUTC:false,_l:undefined,_i:00:00,_f:undefined,_strict:undefined,_locale:[object Object]

我的console.log是NaN

我在做什么错?

这里是TS:

now: any;

ngOnInit() {
     this.now = parseInt(moment().format('h'));
}
///
startTimer() {
    const endTime = moment('10AM', ['h:mm A']).format('HH:mm');
    const a = moment(this.now, 'HHmm').diff(endTime, 'hours');
    console.log(a);
}

答案

首先,您需要现在就开始使用函数,如果不是,则常数为常数。那怎么算

startTimer(time){
    const now = moment().format('H:mm:ss')
    const endTime = moment(time, ['h:mm A']).format('H:mm:ss');
    const a = moment.utc(moment(now,['H:mm']).diff(moment(endTime,['H:mm']))).format("H:mm");
    return a
}

在您的html页面中调用startTimer('10AM')

以上是关于使用MomentJS无法获得时差的主要内容,如果未能解决你的问题,请参考以下文章

如何从 NSDate 获得 1 小时的未来时差 [重复]

Polymer WebComponent中的Momentjs - 全局未定义

momentJS 日期字符串添加 5 天

编译器警告“找不到模块:错误:无法解析'./locale'”,因为我在我的反应应用程序中使用了 momentjs [重复]

无法在momentjs中选择minDate

如何获得两个日期对象之间的小时差? [复制]