【问题标题】:Trim date format PrimeNG calendar - remove timestamp, angular reactive forms修剪日期格式 PrimeNG 日历 - 删除时间戳、角度反应形式
【发布时间】:2017-07-13 22:56:39
【问题描述】:

我将以下内容推送到我的响应式表单中 obj 2016-01-01T00:00:00.000Z 但我想要以下2016-01-01

有谁知道实现上述功能的内置函数。我搜索了文档here,但没有运气。 .trim 当然可以在回调中正常工作,但我想知道是否有人以前做过这个并且知道内置 功能。

谢谢。

更新

为了帮助其他人 - 这就是我在下面的答案的帮助下使用primeng 压延机解决它的方法,角度反应形式。使用(onSelect) 特定于primeNg Calendar 的回调

import { DatePipe } from '@angular/common';

<p-calendar
    #purchaseDateRef
    (onSelect)="handleSelect(purchaseDateRef)">
</p-calendar>


constructor(
    private datePipe: DatePipe
) {}

handleSelect(event: any) {
  // manipulate date object with help of DatePipe and setValue
  this.form.get('registrationFields.appliance.purchaseDate')
     .setValue(this.datePipe.transform(event.value, 'y.MM.dd')
  );
}

【问题讨论】:

  • 日期字段的内容被清除了怎么处理? (在这种情况下,handleSelect 没有被调用并且值仍然存在)
  • @MarkusPscheidt - 我已经有一段时间没有查看这个项目了,但您可以使用(change)="handleSelect($event)"(onChange)="handleSelect($event)" 并检查该字段是否有内容if(event.value === '')跨度>
  • (change)="handleSelect($event)"

标签: javascript angular primeng


【解决方案1】:

您需要在组件中注入 DatePipe,如

构造函数(私有 datePipe: DatePipe){}

你可以在组件中的任何地方使用转换函数

const formattedDate = this.datePipe.transformer(dateValue, 'build_in_date_format')

内置格式很多,参考官​​方文档https://angular.io/api/common/DatePipe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多