如何获取格式化的日期字符串

时间:2017-10-02 15:21:44

标签: angular flatpickr

我的flatpickrOptions看起来像:

    public exampleOptions: FlatpickrOptions = {
           enableTime: true,
           dateFormat: 'd.m.Y H:i',
        };

html代码:<ng2-flatpickr [config]="exampleOptions" [(ngModel)]="dateTime"></ng2-flatpickr>

但我得到的是对象而不是字符串。类似于:[Wed Oct 04 2017 12:00:00 GMT+0200 (Central European Daylight Time)]

如何获取格式化日期字符串而不是我的打字稿方法?

5 个答案:

答案 0 :(得分:3)

我发现momentdate pipes

更可靠

要包含时刻,只需将其导入组件

即可
// Moment
import * as moment from 'moment/moment';

你可以像这样使用它。

var myVar = moment(myDate).format('YYYY-MM-DD');

您可以查看官方网站了解更多选项 Moment.js

答案 1 :(得分:1)

如果要在HTML中显示格式化日期,可以使用date管道

{{ time.arrivee | date:'H:mm:ss' }}

https://angular.io/api/common/DatePipe

答案 2 :(得分:1)

您可以使用Angular管道获取所需的格式,如下所示

{{element.invoiceDate |日期:'MMM / dd / yyyy'}}

答案 3 :(得分:0)

这就是我这样做的方式:

首先,我得到moment(this.dateTime[0])

所以输出为:Wed Oct 04 2017 11:24:00 GMT+0200 (Central European Daylight Time)

然后我希望得到格式化的DateTime字符串我已经完成的那一刻:moment(this.dateTime[0]).format('DD.MM.YYYY H:mm')

所以输出是:04.10.2017 11:24正如我所料。

答案 4 :(得分:0)

这是ng2-flatpickr

的正确方法
  public Options = {
    altInput: true,
    mode: 'single',
    altInputClass: 'form-control flat-picker flatpickr-input invoice-edit-input',

    altFormat: 'Y-n-j',

    // ---- focused area (Here you can format as you can) ----
    onChange: (selectedDates: any) => {
      this.pickers.first.writeValue(new Date(selectedDates).toISOString().slice(0, 10));
    }
    // ---- focused area ----
  };