我的角度应用程序中有两个日期输入字段(fromDate& toDate)。我还有3个按钮' Yesterday',' Last Week',' Last Month'。用户可以选择'来自'和'到'日期或他们可以按其中一个按钮。
只要点击一个按钮,就会发出一个按钮。必须适当填写日期字段。我已将ngModel指令应用于这两个日期输入字段。这是我的HTML
<div class="col-sm-4 filter-box">
<label>Filter by Date</label>
<div class="row content-even" >
<button class="btn btn-primary btn-sm my-1" (click)="yesterdayDateFilter()">Yesterday</button>
<button class="btn btn-primary btn-sm my-1">Last Week</button>
<button class="btn btn-primary btn-sm my-1">Last Month</button>
</div>
<div class="row mt-1 content-even" >
<div class="form-group">
<label for="fromDate">From </label>
<input type="date" id="fromDate" [(ngModel)]="fromDate" name="fromDate">
{{fromDate}}
</div>
<div class="form-group">
<label for="toDate">To </label>
<input type="date" id="toDate" [(ngModel)]="toDate" name="toDate">
{{toDate}}
</div>
</div>
</div>
现在按下按钮时,我不知道如何填写日期字段。例如,当我按昨天按钮时,我希望我的yesterdayDateFilter()函数可以适当地更改from和to日期。这是我的daysDateFilter()
的代码yesterdayDateFilter(){
let yesterday = new Date();
yesterday.setDate(yesterday.getDate()-1);
this.fromDate = new Date(this.datePipe.transform(yesterday, 'yyyy-MM-dd'));
console.log(this.fromDate); }
我在角度使用datepipe将日期转换为合适的格式
从&#39; @ angular / common&#39;;
导入{DatePipe}
现在,当我点击昨天按钮时,起始日期字段保持不变,但输入字段旁边的fromDate值(模板中的{{fromDate}})以此格式显示
Thu Apr 05 2018 05:30:00 GMT + 0530(IST)
我一直在尝试不同的方法来实现所需的功能但却无法找到方法。救命?谢谢。
答案 0 :(得分:3)
<input type="date" id="fromDate" [(ngModel)]="fromDate" name="fromDate">
type&#34; date&#34;不包括日期时间。如果您要使用类型为date的输入,那么您可以使用以下代码来实现它。在将转换后的值分配给模型时,您不需要将其转换为日期。
yesterdayDateFilter(){
let yesterday = new Date();
yesterday.setDate(yesterday.getDate()-1);
this.fromDate = this.datePipe.transform(yesterday, 'yyyy-MM-dd');
this.toDate=this.datePipe.transform(new Date(), 'yyyy-MM-dd');
console.log(this.fromDate);
}
如果您想显示日期和时间,那么您应该使用以下库。
我希望这会对你有所帮助。如果您有任何问题或疑虑,请告诉我。