L oop Через даты и Console.log, если выходные? VBA для примера - PullRequest
0 голосов
/ 16 апреля 2020

Как я могу провести oop через даты в TypeScript и консоль регистрировать выходные? Я просматривал учебники TS и запутался при использовании дат. Я знаю, что воскресенье = 0 и суббота = 6 в TS, но я не совсем понимаю, какой использовать для l oop. Использую ли я для l oop для этого?

VBA

Sub loopWeekends()
Dim eachDay As Date, DayNum As Variant
For eachDay = Date To Date + 90
    DayNum = Application.Weekday(eachDay)
    If DayNum = 1 Or DayNum = 7 Then Debug.Print eachDay
Next
End Sub

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Допустим, у вас есть массив дат, например

let date : Date[] = [date1, date2, date3]

. Вы можете использовать al oop, аналогично l oop до даты

dates.forEach( (date: Date) => {
    if (date.getDay() === 0 || date.getDay === 6){
        console.log("This is the " + date.getDay() + "th day of the week");
    }
})
1 голос
/ 16 апреля 2020

TypeScript является подмножеством строгого типа JavaScript, поэтому ответ примерно одинаков для обоих языков.

Вы можете сделать это, создав объект Date и затем циклически проходя через диапазон, который вы хотите.

let daysToLoop = 90; //Number of days to check
let offset = 0; //Negative number to start before 4/16/2020
let today = new Date(2020, 4, 16) //Same as just doing new Date() as of 4/16/2020
for(let i = offset; i < daysToLoop; i++) {
    let day = new Date(today.getFullYear(), today.getMonth(), today.getDate() + i)
    if(day.getDay() === 0 || day.getDay() === 6) {
        console.log(day) //Weekend Day
    }
}
...