0

以 'YYYY-MM-DD HH:mm:ss' 格式返回 Moment 对象而不是 Date 值

我尝试了以下但得到时刻对象而不是日期。我搜索了很多,但没有一个给我解决方案。

import * as _moment from 'moment';
import { default as _rollupMoment } from 'moment';
const moment = _rollupMoment || _moment;

export const MY_FORMATS = {
    parse: {
        dateInput: 'YYYY-MM-DD HH:mm:ss',
    },
    display: {
        dateInput: 'YYYY-MM-DD HH:mm:ss',
        monthYearLabel: 'MMM YYYY',
        dateA11yLabel: 'YYYY-MM-DD HH:mm:ss',
        monthYearA11yLabel: 'MMMM YYYY',
    },
};
  

我在 @Component 装饰器中提供了格式

@Component({
     providers: [
    {
      provide: DateAdapter,
      useClass: MomentDateAdapter,
      deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]
    },
    { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
  ]
})

课堂内=>

 dateOfBirth: new FormControl();
4

2 回答 2

0

在您的应用程序中添加以下代码。

app.module.ts

 import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
    import { MomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';
    import { DatePipe } from '@angular/common';
    
    export const DateFormats = {
        parse: {
            dateInput: 'YYYY-MM-DD HH:mm:ss',
        },
        display: {
            dateInput: 'YYYY-MM-DD HH:mm:ss',
            monthYearLabel: 'MMM YYYY',
            dateA11yLabel: 'YYYY-MM-DD HH:mm:ss',
            monthYearA11yLabel: 'MMMM YYYY',
        },
    };
    
    
    providers: [
        { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
        { provide: MAT_DATE_FORMATS, useValue: DateFormats }
        , DatePipe
    ],

* .components,ts

dateOfBirth: new FormControl();

如果您在项目中正确添加上述代码,您将获得此格式 YYYY-MM-DD HH:mm: ss 的所有 mat 日期选择器日期值

于 2020-10-14T06:22:24.157 回答
0

试试这个代码。

import { DatePipe, formatDate } from '@angular/common';
import { Component, OnInit, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';
import { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';

export class UserRegistrationComponent implements OnInit {
dateOfBirth: new FormControl();

constructor(private datePipe: DatePipe){

}

save(){
    this.datePipe.transform(this.dateOfBirth.value, "yyyy-MM-dd HH:mm:ss");
}
}
于 2020-10-14T08:04:36.697 回答