使用moment.js将字符串转换为日期

时间:2017-07-11 08:30:14

标签: string angular date momentjs string-to-datetime

这是我的模特。

 export class Feature2 {

 requestRouteTemplate: string;
 requestMethod: string;
 numberCount: number;
 requestDate: date;

 constructor(values: Object = {}) {
  Object.assign(this, values);  
 }
}

这是component.ts

   this.datas2 = [
  {
    'requestRouteTemplate': 'api/Tasks',
    'requestMethod': 'POST',
    'numberCount': 6,
    'requestDate': '07/01/2017',
  },
  {
    'requestRouteTemplate': 'api/Tasks',
    'requestMethod': 'POST',
    'numberCount': 3,
    'requestDate': '07/02/2017',
  },

我想使用时刻库​​将请求日期变量从字符串转换为日期。

2 个答案:

答案 0 :(得分:2)

在构造函数中添加:this.requestDate = moment(values.requestDate, "MM-DD-YYYY").toDate();

参见文档:

答案 1 :(得分:2)

您必须创建如下所示的管道

//datePipe.ts 

 import { Pipe, PipeTransform } from '@angular/core';
    import moment from 'moment';
    @Pipe({
        name: 'datex'
    })

    export class DatexPipe implements PipeTransform {
        transform(value: any, format: string = ""): string {
            // Try and parse the passed value.
            var momentDate = moment(value);

            // If moment didn't understand the value, return it unformatted.
            if (!momentDate.isValid()) return value;

            // Otherwise, return the date formatted as requested.
            return momentDate.format(format);
        }
    }

然后你可以在html页面中使用它

{{datas2.requestDate | datex:'YYYY-MM-DD HH:mm'}}