Encontre a Data mais próxima de uma TargetDate para um determinado dia da semana.
Por exemplo, com uma data 20161219e um dia da semana de Friday (6), a resposta é 20161216.
Outro exemplo, dada a data 20161219e o dia da semana de Wednesday (4), a resposta é 20161221.
Um exemplo final, dada a data 20161219e o dia da semana de Monday (2), a resposta é 20161219.
Regras:
- O formato da data para entrada e saída deve corresponder. Nos exemplos, usei
yyyymmdd, mas você pode usar qualquer formato, desde que o ano (pelo menos dois dígitos), o mês e o dia do mês sejam "legíveis por humanos". - O dia da semana é inserido como um número inteiro. No meu exemplo, domingo é o primeiro dia da semana, portanto, é o número do dia da semana
1. Você pode ter qualquer numeração do dia da semana, contanto que ela seja diferente do exemplo. - Os anos de 1970 a 2030 devem ser acomodados.
- Ferramentas e bibliotecas comuns para a data do idioma são permitidas, mas o crédito de rua é concedido àqueles que optam por não usá-los.
- Menor número de bytes ganhos.