Angular,只使用myDatePicker存储日期(没有epoc部分)

时间:2018-01-31 04:01:02

标签: angular typescript

提交表单时,我需要帮助将日期输入格式化为yyyy-mm-dd。我正在使用myDatePicker包。这是myDatepicker live demo。在右侧,当我们选择日期(2018年1月1日)时,我们可以看到有一个字段看起来像Formatted: 01 Jan 2018 - epoc: 1514739600,这是默认情况下的格式。我只需将[{1}}部分存储为formatted部分,而不是DD MMM YYYY部分。



epoc xxx



 以下是form01: FormGroup; public myDatePickerOptions: IMyDpOptions = { dateFormat: 'dd/mm/yyyy', }; setDate(): void { let date = new Date(); this.form01.patchValue({ DoB: { date: { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() } }, DateSubmit: { date: { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() } } }); } clearDate(): void { this.form01.patchValue({ DoB: null, DateSubmit: null }); } constructor(public builder: FormBuilder) { this.form01s = this.builder.group({ DoB: [null, Validators.required], DateSubmit: [null, Validators.required] }) pushForm01() { console.log(this.form01.controls.DoB.value); console.log(this.form01.controls.DateSubmit.value); }向我显示console.log的内容。 我需要将格式存储到{date: {…}, jsdate: Sun Jan 28 2018 00:00:00 GMT+0700 (SE Asia Standard Time), formatted: "28/01/2018", epoc: 1517072400}而不包含其他部分。有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

在您的对象中,日期对象将包含日,月,年,您只需格式化它们以获得yyyy-mm-dd

中的结果

我认为this.form01.controls.DateSubmit.value包含已在评论中发布的对象

试试这个

var month = (this.form01.controls.DateSubmit.value.date.month > 9) ? this.form01.controls.DateSubmit.value.date.month : "0"+ this.form01.controls.DateSubmit.value.date.month;
var day = (this.form01.controls.DateSubmit.value.date.month > 9) ? this.form01.controls.DateSubmit.value.date.day : "0"+ this.form01.controls.DateSubmit.value.date.day;


console.log(this.form01.controls.DateSubmit.value.date.year + "-" + month + "-" + day);