2017-10-28 17 views
0

TypeScriptの現在の日付から日数を差し引きたいと思います。 たとえば、現在の日付が2017年10月1日である場合、2017年9月30日には1日を減算したい、3日を減算する場合は9月28日などとなる。TypeScriptの日付から日数を引く方法

これは私はこれまでのところ、結果は1969年12月31日に受け取りました。私は、tempDate.getDate()が1970年1月1日のEpochのようにゼロを返すことを意味します。

これは私のコードです。前の就業日を返すことです。

protected generateLastWorkingDay(): Date { 

     var tempDate = new Date(Date.now()); 
     var day = tempDate.getDay(); 


     //** if Monday, return Friday 
     if (day == 1) { 
      tempDate = new Date(tempDate.getDate() - 3); 
     } else if (1 < day && day <= 6) { 
      tempDate = new Date(tempDate.getDate() - 1); 
     } 

     return tempDate; 
    } 

答えて

1

getDateので、それから、新しいDateを作成する「エポックからのミリ秒」として、その数を扱い、月(1-31)の日付を返します。

setDateを使用すると、自動的に月/年を経て自動的に処理されるように日付を変更することができます。

protected generateLastWorkingDay(): Date { 
    const lastWorkingDay = new Date(Date.now()); 

    while(!this.isWorkingDay(lastWorkingDay)) { 
    lastWorkingDay.setDate(lastWorkingDay.getDate()-1); 
    } 

    return lastWorkingDay; 
} 

private isWorkingDay(date: Date) { 
    const day = date.getDay(); 

    const isWeekday = (day > 0 && day < 6); 

    return isWeekday; // && !isPublicHoliday? 
} 
関連する問題