0% acharam este documento útil (0 voto)
6 visualizações3 páginas

Calcular o Número Da Semana de Uma Data

Enviado por

Aurelio F Barros
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações3 páginas

Calcular o Número Da Semana de Uma Data

Enviado por

Aurelio F Barros
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

InicialForums>Duvidas Ferramentas>Progress 4GL>

1.
2.
3.
4.
PatrocinadorAnuncios

Calcular o número da semana de uma data


Discussão em 'Progress 4GL' iniciado por dilonei, Abril 28, 2009.

Acompanhar Tópico

1.

diloneiSem Pontuação
Para calcular o número da semana de uma data, podemos utilizar o seguinte calculo:
Código:

def var f as int format "999".


def var s as int format "999".
def var dt-ini as int format "999".
def var c-ini as char format "x(10)".
def var c-fim as char format "x(10)".

def var dt-simula as date format "99/99/9999".

assign dt-simula = date("28/04/2009").

assign
/* Data inicio do ano */
c-ini = "01/01/" + string(year(dt-simula))
/* Data do dia */
c-fim = string(day(dt-simula)) + "/" + string(month(dt-simula)) + "/" +
string(year(dt-simula))
/* Verifica em que dia da semana o dia 01/01 caiu */
dt-ini = weekday(date(c-ini))
/* Quantidade de dias no ano */
f = int(date(c-fim) - date(c-ini))
/*
f : quantidade de dias até a data
(7 - weekday(dt-simula)): pega os dias que falta da semana da data
dt-ini: quantidade de dias a somar no inicio do ano para completar uma
semana
*/
f = f + (7 - weekday(dt-simula)) + dt-ini
/* Divide a qantidade de dias incrementada por 7 */
s = f / 7.

/* Exemplo:
Data Inicio: 01/01/2009 - Caiu numa quinta-feira, a contar de domingo
são 5 dias *
Data do Calculo: 28/04/2009 - Cai numa terça feita, a contar de
domingo são 3 dias *
Dias até a data a contar do dia pimeiro do ano: int(date(01/01/2009) -
date(28/04/2009)) = 126
f = 117 + (7 - 3) + 5 = 126

Então: 126 / 7 = 18.

Logo, para o dia 28/04/2009 a semana é a 18.

Calculo:

* Para descobrir o dia utilizamos a formula (weekday(data))

*/

disp c-ini skip c-fim skip f skip s skip dt-ini skip int(date(c-fim) -
date(c-ini)).

Acho que é isto.

Abraços a todos

Dilonei Grando
Analista de Sistemas
dilonei, Abril 28, 2009
#1

2.

[Link] Participativo
Dilonei valeu.

Para complementar sua dica postei um exemplo onde testo se o ano fiscal para o cliente
inicia no dia primeiro do ano ou na primeira segunda feira. Muitas multi-nacionais
consideram o inicio do ano fiscal como sendo a primeira segunda feira do ano.

Abraços

Atila
[Link]@[Link]
Arquivos Anexados:

o w-semana.w

Tamanho:

10.4 KB

Visitas:

31

[Link], Abril 29, 2009


#2
(You have insufficient privileges to reply here.)

Compartilhe esta Página


InicialForums>Duvidas Ferramentas>Progress 4GL>

 Inicial
 Forums

o Marca fóruns como lídos

o Pesquisar

o Fóruns Acompanhados

o Tópicos Monitorados

o Novos Posts

o Spy

 Downloads

 Membros

 EMS, HCM, Totvs 11

 Parceiros

 Colaboradores

 Pesquisa

 Blog 4Each

 Aurélio Barros

 Caixa de Entrada

 Alertas
Português (BR)

 Fale Conosco

 Ajuda

 Inicial

 Top

 RSS

 Termos e Regras
Forum software by XenForo™ ©2010-2014 XenForo Ltd.

Common questions

Com tecnologia de IA

To calculate the week number of a given date using Progress 4GL, you would first define several variables to hold date and integer values. You then assign the target date to a variable and calculate the beginning of the year by constructing the date string using the year extracted from the target date. Use the 'weekday' function to determine on which day of the week the 1st of January falls. Afterwards, compute the difference in days between the target date and the start of the year, adjusting for the days to complete a week. Finally, divide the adjusted total number of days by 7 to get the week number. For instance, for the date 28/04/2009, the week number is 18 .

Você também pode gostar