0

您好我正在尝试使用数据类型为字符串的primeng日历,如下所示:

<p-calendar 
    [styleClass]="pCalendar" 
    [dataType]="'string'" 
    formControlName="doC" 
    [inputStyleClass]="priorityDiv" 
    [placeholder]="'MM/DD/YYYY'"
    [showIcon]="false" 
    [yearNavigator]="true" 
    [yearRange]="'2000:2020'" 
    [monthNavigator]="true" 
    [(ngModel)]="doC"
    [inline]="false" 
    showTime="true" 
    hourFormat="12" 
    showButtonBar="true" 
    [minDate]="minDateValue"
    (onSelect)="onDateandTimeSelect($event)" 
    (onInput)="onDateandTimeSelect($event)">
</p-calendar>

我需要在页面加载时设置当前日期。我尝试将其设置为:

this.doC = new Date();

但这会将日期设置为 UTC 日期,例如“mon 2018 12:34:44 UTC.....”,而从选择器中选择日期使其成为一个简单的字符串,如“09/12/2018 11:08 AM”

我需要在初始加载时将默认日期设置为这个简单的字符串。我怎样才能做到这一点? 我尝试从日期和连接中获取 ecah 和每个数字。

var currentDate = new Date();
var dateT = currentDate.getDate();
var c = currentDate.getFullYear();
var f = currentDate.getHours();
var b = currentDate.getMinutes();
var s = currentDate.getMonth();
var w = currentDate.getTime();
var q = currentDate.getUTCDate();
var z = currentDate.toDateString();
var sr = currentDate.toJSON();
var we = currentDate.toString();
var wf = d + s + c + f +":" + b;

但我不知道如何从日期获得“上午/下午”。

请帮忙。

请查看此链接以获取primeng日历:https ://www.primefaces.org/primeng/#/calendar

4

1 回答 1

1

你可以使用DatePipe

import { Component } from '@angular/core';
import { DatePipe } from '@angular/common';
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
  providers: [DatePipe]
})
export class AppComponent {
    doC=new date()
    constructor(private datePipe: DatePipe){
       console.log(this.datePipe.transform(this.doC, 'dd/MM/yyyy hh:mm a'))
    }
}
于 2018-09-03T06:13:14.533 回答