如何使用离子2从客户日期/ Datepicker获取值

时间:2017-10-06 13:18:27

标签: html angular ionic-framework ionic2

我在这里得到一个小问题我创建了日期选择框,客户可以选择4个选项,如日,周,月,自定义日期

1.如果客户选择,则来自&到目前为止当天。

2.如果客户选择,那么从日期开始应该是星期日&到目前为止,应该是当周的当前日期。

  1. 如果客户选择,则从日期起应开始月份开始日期&到目前为止,应该是当月的当前日期。

  2. 如果客户选择**自定义日期,则客户应从日期和日期开始选择。

  3. 下面是我的代码我必须用以下格式编写代码

    选择日期的代码

       <ion-col col-6>
          <ion-label>Report Type</ion-label>
          <ion-select [(ngModel)]="reportType">
            <ion-option *ngFor="let opt of reportTypes" [value]="opt.TypeId">{{opt.Type}}</ion-option>
          </ion-select>
     </ion-col>
    
        <ion-col col-6>
          <ion-label>Report Type</ion-label>
          <ion-select [(ngModel)]="reportType">
            <ion-option *ngFor="let opt of reportTypes" [value]="opt.TypeId">{{opt.Type}}</ion-option>
          </ion-select>
     </ion-col>
        </ion-row>
    
     Code for getting custom dropdown on selecting custom
    
        <ion-row *ngIf="reportType==10">
          <ion-col>
    <ion-item>
      <ion-label>From Date</ion-label>
      <ion-datetime displayFormat="MMM DD YYYY" pickerFormat="MMM DD YYYY" [(ngModel)]="reportDataFromDate"></ion-datetime>
    </ion-item>
          </ion-col>
          <ion-col>
            <ion-item>
      <ion-label>To Date</ion-label>
      <ion-datetime displayFormat="MMM DD YYYY" pickerFormat="MMM DD YYYY" [(ngModel)]="reportDataToDate"></ion-datetime>
    </ion-item>
    

    Typscript代码:

     this.reportTypes=[{TypeId:1,Type:'Day'},{TypeId:7,Type:'Week'},{TypeId:30,Type:'Month'},{TypeId:10,Type:'Custom Date'}]
    

    //////////////按reportTypes计算日期

      calculateFromAndToDateByReportype(reportType){
       var days; // Days you want to subtract
       var currdate = new Date();
    
       if(reportType==1){
          this.reportDataFromDate=currdate;
       this.reportDataToDate=currdate;
       }
       else {
         var last = new Date(currdate.getTime() - (reportType * 24 * 60 * 60 * 1000));
       this.reportDataFromDate=last;
       this.reportDataToDate=currdate;
       }
    
      }
    

    直到现在我 Day

    但无法获得周,即从周日开始到周的当天

    月份: - 从日期开始应该是月份开始日期,到日期应该是月份当前日期

    当前日期:从日期开始应该是选定的值,到日期应该选择值

1 个答案:

答案 0 :(得分:0)

使用此代码:

 if(day){
  this.reportDataFromDate=(new Date()).toISOString();
}
if(week){
  let date = new Date();
  let day = date.getDay(),
  diff = date.getDate() - day + (day == 0 ? -6:0);
  this.reportDataFromDate=(new Date(date.setDate(diff))).toISOString();
}
if(month){
  let date = new Date();
  this.reportDataFromDate=(new Date(date.getFullYear(), date.getMonth(), 1)).toISOString();
}