【问题标题】:How to format date with Angular material datetime picker如何使用 Angular 材料日期时间选择器格式化日期
【发布时间】:2021-02-16 03:39:14
【问题描述】:

我在谷歌上搜索了很多。但我有材料日期时间选择器。所以不是日期选择器,而是日期时间选择器。我想格式化 date-time ,就像这种格式:

2021-02-15 23:59:59

但我尝试在没有 moment.js 的情况下做到这一点。因为这不是好的做法。但是如果没有moment.js就无法做到,那就这样吧。

所以我有这个js文件:

const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
  parse: {
    dateInput: ''
  },
  display: {
    dateInput: 'YYYY-MM-DD HH:mm:ss',
    monthYearLabel: 'MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'MMMM YYYY',
  }
};
@Component({
  selector: 'app-widget-editor',
  templateUrl: './widget-editor.component.html',
  styleUrls: ['./widget-editor.component.css'],
  providers: [
    {provide: DateAdapter, useClass: AppDateAdapter},
    {provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS}

  ]
})
export class WidgetEditorComponent implements OnInit, AfterContentInit {
  @ViewChild('picker') picker;

 
  start: string;
  end: string;
  interval: string;
  duration: string;
  yrange: number[]; 

  constructor(private editorService: EditorService ) {} 

  reOpenCalender() {
    let self = this;
    setTimeout(() => {
      self.picker.open();
    } );
  }  
}

这是模板:

  <div class="form-group row">
                <label for="start" class="editor-label col-sm-4"><strong> Time start:</strong></label>

                <input [(ngModel)]="start" format  [ngModelOptions]="{standalone: true}" type="text" class="date"  id="start" value="start"  matInput [ngxMatDatetimePicker]="picker">
                <ngx-mat-datetime-picker #picker></ngx-mat-datetime-picker>


                <span class="ml-2" (click)= "reOpenCalender()">
                    <fa-icon [icon]="faCalendarAlt" size="1x"    #picker [styles]="{'color': '#B7B7B7'}"
                      ></fa-icon>
                </span>
            </div>

但是格式还是这样的:

2/16/2021, 04:36:32

而不是这种格式:

2021-02-15 23:59:59

那么我要改变什么?

谢谢

【问题讨论】:

    标签: javascript angular typescript datepicker angular-material


    【解决方案1】:

    这里是您问题的答案。

    How to change angular material datepicker format

    我们必须使用 -

    import { MAT_DATE_FORMATS } from '@angular/material';
    

    并将定义的格式与上述一起传递给提供者

    【讨论】:

    • 好的,谢谢。但是所以你必须使用 moment.ts 吗?因为他们说这不是好的做法。还是没关系?
    • 它是从 '@angular/material' 导入的,所以我们不必太在意 Angular 材质的内部实现。我是这么认为的
    • ok,但我需要安装:npmjs.com/package/@angular/material-moment-adapter,但安装后我收到此错误:node_modules/@angular/material-moment-adapter/adapter/moment-date-adapter 中的错误。 d.ts:10:24 - 错误 TS2307:找不到模块“时刻”或其相应的类型声明。 10 从“时刻”导入{时刻};所以我还需要单独安装moment.ts?
    • 可能,不确定,但据我所知,它应该只适用于材料,你可以试试
    猜你喜欢
    • 2019-03-04
    • 1970-01-01
    • 2020-04-14
    • 2021-05-09
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多