【问题标题】:Compare date range and restrict dates beyond 3 months using Angular使用 Angular 比较日期范围并限制超过 3 个月的日期
【发布时间】:2021-04-03 03:32:04
【问题描述】:

有两个下拉菜单,API 为开始日期和结束日期提供了一些日期选项(只有月份,然后是年份,例如:MAY-19)。这里需要限制3个月的范围。如果超过 3 个月不允许。您能否提供一些想法如何实现这一目标。

请看参考Stackblitz

【问题讨论】:

  • 请在问题本身中提供相关代码,而不仅仅是在 Stackblitz 等外部网站上。

标签: angular typescript


【解决方案1】:

这样的事情会起作用:

创建模型月份数组:

months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']

checkValidMonth(startDate: string, endDate: string): boolean {
  startDate = startDate.substr(0,3);
  endDate = endDate.substring(0,3);
  console.log(Math.abs(this.months.indexOf(startDate) -  this.months.indexOf(endDate)) <= 3)
  return Math.abs(this.months.indexOf(startDate) -  this.months.indexOf(endDate)) <= 3
}

HTML:

<p *ngIf="checkValidMonth(form.get('startDate').value, form.get('endDate').value)">**Months have to be 3 apart</p>

更新 Stackblitz:https://stackblitz.com/edit/date-validations-reactive-j4uykk?file=src%2Fapp%2Fformreactive%2Fformreactive.component.ts

【讨论】:

    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2017-07-29
    相关资源
    最近更新 更多