提交表单时,我需要帮助将日期输入格式化为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}
而不包含其他部分。有人可以帮我这个吗?
答案 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);