Parâmetros: Você acredita? Este módulo pode ser escrito dezenas de vezes mais rápido do que qualquer outro método! Os parâmetros são os seguintes:
1: Qual dia é o dia base?
2: (Opcional) Que dia da semana você está procurando? Se não for especificado, o valor padrão será sábado
3: (Opcional) Você deve pesquisar para frente (passado) ou para trás (futuro)?
Se não for especificado, o valor padrão é pesquisar no futuro (futuro)
Código do programa
PublicFunctionSpecificWeekday(ByValDAsDate,OptionalByValWhatDayAsVbDayOfWeek=vbSaturday,OptionalGetNextAsBoolean=True)AsDate
SpecificWeekday=(((D-WhatDay GetNext)/7)-GetNext)*7 WhatDay
Função Final
Talvez você queira saber por que o programa foi escrito assim?
Você sabia? No VB, o dia base (0º dia) de todas as funções de data é 30 de dezembro de 1899 (sábado), e o primeiro dia é 31 de dezembro de 1899 (domingo), então o algoritmo da função WeekDay do VB é na verdade (Data-1) Mod7 1.
valor de retorno
data
Exemplo:
Gostaria de saber quais dos dias seguintes são?
Última segunda-feira: SpecificWeekday(Now,vbMonday,False)
Próximo sábado: dia da semana específico (agora)
Próxima sexta-feira, 9 de setembro de 2000: SpecificWeekday("09/09/2000",vbFriday)->