OK, a more serious answer:
This flow should return the week number according to ISO 8601 using the algorithm provided in the article.
Discalimer: Dates are a mess and writing date functions should be done by people who know more about the subject than I do 😉

Weeks(y)
if(
or(
and(
equals(
mod(
int(formatDateTime(outputs('Date'), 'yyyy')),
4
),
0
),
not(
equals(
mod(
int(formatDateTime(outputs('Date'), 'yyyy')),
100
),
0
)
),
equals(
dayOfWeek(concat(formatDateTime(outputs('Date'), 'yyyy'), '-01-01')),
3
)
),
and(
not(
equals(
mod(
int(formatDateTime(outputs('Date'), 'yyyy')),
4
),
0
)
),
equals(
dayOfWeek(concat(formatDateTime(outputs('Date'), 'yyyy'), '-01-01')),
2
)
)
),
53,
52
)
Weeks(y-1)
if(
or(
and(
equals(
mod(
sub(int(formatDateTime(outputs('Date'), 'yyyy')), 1),
4
),
0
),
not(
equals(
mod(
sub(int(formatDateTime(outputs('Date'), 'yyyy')), 1),
100
),
0
)
),
equals(
dayOfWeek(
concat(
string(
sub(
int(formatDateTime(outputs('Date'), 'yyyy')),
1
)
),
'-01-01'
)
),
3
)
),
and(
not(
equals(
mod(
sub(int(formatDateTime(outputs('Date'), 'yyyy')), 1),
4
),
0
)
),
equals(
dayOfWeek(
concat(
string(
sub(
int(formatDateTime(outputs('Date'), 'yyyy')),
1
)
),
'-01-01'
)
),
2
)
)
),
53,
52
)
W
div(
add(
10,
sub(
dayOfYear(outputs('Date')),
if(
less(
dayOfWeek(outputs('Date')),
1
),
7,
dayOfWeek(outputs('Date'))
)
)
),
7
)
Woy
if(
less(
outputs('W'),
1
),
outputs('Weeks(y-1)')
,
if(
greater(
outputs('W'),
outputs('Weeks(y)')
),
1,
outputs('W')
)
)

I also combined all of the above to one big expression 😎
if(less(div(add(10,sub(dayOfYear(outputs('Date')),if(less(dayOfWeek(outputs('Date')),1),7,dayOfWeek(outputs('Date'))))),7),1),if(or(and(equals(mod(sub(int(formatDateTime(outputs('Date'), 'yyyy')), 1),4),0),not(equals(mod(sub(int(formatDateTime(outputs('Date'), 'yyyy')), 1),100),0)),equals(dayOfWeek(concat(string(sub(int(formatDateTime(outputs('Date'), 'yyyy')),1)),'-01-01')),3)),and(not(equals(mod(sub(int(formatDateTime(outputs('Date'), 'yyyy')), 1),4),0)),equals(dayOfWeek(concat(string(sub(int(formatDateTime(outputs('Date'), 'yyyy')),1)),'-01-01')),2))),53,52),if(greater(div(add(10,sub(dayOfYear(outputs('Date')),if(less(dayOfWeek(outputs('Date')),1),7,dayOfWeek(outputs('Date'))))),7),if(or(and(equals(mod(int(formatDateTime(outputs('Date'), 'yyyy')),4),0),not(equals(mod(int(formatDateTime(outputs('Date'), 'yyyy')),100),0)),equals(dayOfWeek(concat(formatDateTime(outputs('Date'), 'yyyy'), '-01-01')),3)),and(not(equals(mod(int(formatDateTime(outputs('Date'), 'yyyy')),4),0)),equals(dayOfWeek(concat(formatDateTime(outputs('Date'), 'yyyy'), '-01-01')),2))),53,52)),1,div(add(10,sub(dayOfYear(outputs('Date')),if(less(dayOfWeek(outputs('Date')),1),7,dayOfWeek(outputs('Date'))))),7)))
Great for a quiz: What does this expression do? 🤣