在ionic 2项目中使用moment.js包

Adi*_*ari 14 ionic2 angular

我想在Moment.js包中使用我的项目离子2中的日期,我不知道该怎么做,这是链接 时刻js链接

我有datetime变量,我希望它来自我的区域.我应该这样做吗?因为它是在javascript和ionic 2中使用的打字稿

我试图这样做,但它不起作用

     constructor(public navCtrl: NavController,private platform:Platform) {

   mydate=new Date();
   mydate=moment.moment().format('MMMM Do YYYY, h:mm:ss a');

  }
Run Code Online (Sandbox Code Playgroud)

当我尝试使用它

let data = moment().format('YYYYMMDD');
let time = moment().format('HHmmss');
console.log('today is: ', data + ' and time: ', time);
Run Code Online (Sandbox Code Playgroud)

我得到这个错误 在此输入图像描述

mos*_*a90 49

检查此链接是否有打字稿.

1 - 通过NPM 安装:

npm install moment -S
Run Code Online (Sandbox Code Playgroud)

2 - 在您的Typescript文件中导入:

import moment from 'moment';
Run Code Online (Sandbox Code Playgroud)

3 - 您的打字稿文件:

let data = moment().format('YYYYMMDD');
let time = moment().format('HHmmss');
console.log('today is: ', data + ' and time: ', time);
Run Code Online (Sandbox Code Playgroud)

我希望对你有所帮助.:)

编辑:仍然适用于Ionic v3.9.2(2018-03-08)

  • 希望你能接受答案否?@AdirZoari (2认同)

Ben*_*son 10

谢谢@ mosca90,你让我90%的方式!

我使用您的信息创建自定义管道,完全解决了我的问题.这是管道的来源:

import { Pipe, PipeTransform } from '@angular/core';
import moment from 'moment';

/**
 * Generated class for the MomentjsPipe pipe.
 *
 * See https://angular.io/docs/ts/latest/guide/pipes.html for more info on
 * Angular Pipes.
 */
@Pipe({
  name: 'momentjs',
})
export class MomentjsPipe implements PipeTransform {
  /**
   * Takes a date value and returns a pretty string from current time, 
   * for instance: "four hours ago" or "in eleven minutes".
   */
  transform(value: string, ...args) {
    return moment(value).fromNow();
    //return value.toLowerCase();
  }
}
Run Code Online (Sandbox Code Playgroud)

所以现在我可以这样做:

<div>{{ date | momentjs }}</div>
Run Code Online (Sandbox Code Playgroud)

我明白了

ten minutes ago.
Run Code Online (Sandbox Code Playgroud)

完美!再次感谢你!