Ir para conteúdo
Daniela Bondezan dos Reis

Comparando ano de um exercicio com o ano de uma data

Recommended Posts

Boa tarde.

Preciso de uma ajuda que não estou conseguindo resolver.

Tenho os seguintes inputs:

Onde eu tenho o exercicio (Ano) a que se refere o lançamento:
<input name="exercicio" type="text" value="<?php echo $row_Recordset2['exercicio']; ?>" size="3" maxlength="4" disabled/>

Onde eu tenho a data de vencimento do lançamento:
<input name="data_venc" type="date" id="data_venc" value="<?php echo $row_Recordset2['data_venc']; ?>" size="10" maxlength="12" onchange="verifica_data()"/>

O que eu preciso fazer é ler essa data de vencimento, extrair o ano dela e comparara com o exercício, pois caso o ano da data de vencimento não seja igual o exercício, o sistema deve avisar.

Fiz uma função em javascript, mas me parece que não se lê nada, nem de exercício, nem de data de vencimento. No que eu estou errando ?

Alguém consegue me ajudar ?

function verifica_data(){

var elemento = new Date(document.getElementById('data_venc').value);
var ano=elemento.getFullYear();
var exercicio = document.getElementsByName('exercicio').value;
alert("Exibe Exercício: "+exercicio);
if(ano > exercicio){
alert("O Ano do Lançamento é Maior !");
}else{
alert("O Ano do Lançamento é Menor !");
}
}


Att. Dbondezan

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria isso?

    Data Lançamento: 
    <input name="exercicio" id="data_lanc" type="text" value="2017-01-01" size="15" readonly="" maxlength="4"/>

    <br>
    <br>

    Data Vencimento: 
    <input name="data_venc" type="date" id="data_venc" size="10" maxlength="12" onchange="verifica_data()"/>

<script type="text/javascript">
function verifica_data(){

    var data_venc = document.getElementById('data_venc').value;
    //var ano=elemento.getFullYear();
    var data_lanc = document.getElementById('data_lanc').value;
    
    alert("Exibe Exercício: "+data_venc);
        if(data_venc > data_lanc){
        
        alert("O Ano de Vencimento é Maior !");
        }else{
        
        alert("O Ano do Lançamento é Maior !");
        }
}
</script>	

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

no javascript você pode usar a função substring() para pegar o ano da string de data para comparar com o ano corrente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Everton Lins de Paulo
      Tenho essa query:
      ----------------------------------------------------------------------- 
        SELECT     codigo, entrada, alta, sequencia
          from atendimentos
           where codigo = 108
      ----------------------------------------------------------------------- 
      que me retorna o seguinte:
      ------------------------------------------------------------------------------------------------------------ 
      codigo                 entrada                               alta                   sequencia
      108,       '21/10/2018 00:00:00',    '31/10/2018 00:00:00',       1
      108,       '07/11/2018 00:00:00',    '08/11/2018 00:00:00',       2
      108,       '11/11/2018 00:00:00',    '13/11/2018 00:00:00',       3
      108,       '12/12/2018 00:00:00',    '13/12/2018 00:00:00',       4
      ------------------------------------------------------------------------------------------------------------
      Preciso comparar se a alta da sequencia inferior está num prazo de 15 dias e assim com todas.
      Ex:
      Minha sequencia 1 não vai ter nenhuma alta acima dela, então ela vai ter a resposta NÃO
      A alta da sequencia 1 é menor de 15 dias da entrada da sequencia 2? A resposta vai ser SIM 
      A alta da sequencia 2 é menor de 15 dias da entrada da sequencia 3? A resposta vai ser SIM 
      A alta da sequencia 3 é menor de 15 dias da entrada da sequencia 4? A resposta vai ser NÃO
      Ficaria assim:
      -----------------------------------------------------------------------------------------------------------------------------------------------------
      codigo                 entrada                               alta                   sequencia        Reinternação
      108,       '21/10/2018 00:00:00',    '31/10/2018 00:00:00',       1                        NÃO
      108,       '07/11/2018 00:00:00',    '08/11/2018 00:00:00',       2                        SIM
      108,       '11/11/2018 00:00:00',    '13/11/2018 00:00:00',       3                        SIM
      108,       '12/12/2018 00:00:00',    '13/12/2018 00:00:00',       4                        NÃO
      -----------------------------------------------------------------------------------------------------------------------------------------------------
      Algum amigo conhece algum comando para fazer isso?
    • Por asacap1000
      Galera preciso de uma ajuda, não sei mais nem como procurar a cabeça está dando nó kkkk.
      Tenho projeto que estará controlando o tempo de acesso no estabelecimento impondo um limite de 100 minutos.
      Dentro do mesmo dia estou conseguindo realizar os calculos normais, porém se o usuário entrar 23:00 ele terá que sair no máximo às 00:40.
      O horário eu consegui montar conforme o select abaixo a data mantém a mesma da entrada.
      select aces.seqreg SEQUENCIA, aces.diracc SENTIDO, aces.horacc MINUTOS, --acesso em minutos (aces.horacc + 100) LIMITE, --limite de acesso foi adicionado mais 100 minutos CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast(aces.horacc / 60 as varchar), 2) + ':' + right( '00' + cast(aces.horacc - ((aces.horacc / 60) * 60) as varchar), 2 ) AS HORA,--data e hora de entrada CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' + right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair Convert(Char(5),GetDate(),114) ATUAL from kansas.kansas.r070ara aces LEFT JOIN kansas.kansas.r090mvi mv on aces.numcra = mv.numcra and aces.numdoc = mv.numdoc where CONVERT(DATETIME, CONVERT(NVARCHAR(10), aces.datacc, 103), 103) >= CONVERT(DATETIME, '29/09/2018', 103) and CONVERT(DATETIME, CONVERT(VARCHAR(10), aces.datacc, 103), 103) <= CONVERT(DATETIME, '29/09/2018', 103) and (aces.coddsp like '1') and aces.numdoc = '325605397' order by aces.seqreg, aces.nompes, aces.coddsp O problema está nesta parte do select:
       
      CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' + right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair A parte de data ele não traz a data seguinte na imagem abaixo a saída deveria ser 30/09/2018 01:27
       

       
      Alguém poderia me dar uma força tenho que entregar essa semana este projeto no trabalho e está muito punk a bagaça...
       
    • Por Markleber
      Boa tarde à todos... Sou totalmente leigo em SQL e estou precisando de uma ajuda de vocês, aliás, um excelente ajuda. Tenho duas tabelas abaixo:
      Tabela linaus07
      d01 d02 d03 d04 d05 d06 d07 10 11 12 13 14 15 16 10 11 12 13 14 16 17 10 11 12 13 14 16 22  
      Tabela linrep07
      d01 d02 d03 d04 d05 d06 d07 d08 d09 d10 d11 d12 d13 d14 d15 1 2 3 4 5 6 7 10 11 12 13 14 16 17 22 1 2 3 4 5 6 7 8 10 11 12 13 14 16 17 1 2 3 4 5 6 7 9 10 11 12 13 14 16 22  
      Então, o que preciso...???
      Pego o 1 registro da tabela linaus07 contendo 7 campos e confronto com todos os registros da tabela linrep07 contendo 15 campos, reparem que o primeiro registro da tabela linaus07, confrontando com a tabela linrep07, em nenhum momento continha 7 iguais nos registros, então, não preciso fazer nada, porém, repare agora, que o segundo registro da tabela linaus07, confrontando com a tabela linrep07, encontramos 7 campos exatamente nos 15 campos da outra tabela, então, pego o registro da tabela linrep07 e gravo em outro banco de dados (um novo), o registro que contem esses 15 campos que tinham os 7 campos da tabela linaus07.
      o que tem que ser respeitado...
      Cada registro da tabela linaus07 contendo 7 campos, irá passar em todos os registros da tabela linrep07 contendo 15 campos e irá colocar num novo banco de dados, todos os registros que da tabela linrep07 tiverem exatamente os 7 campos da tabela linaus07 e ao final, esse novo banco, terá com certeza muito registros, mas preciso salvá-los em um arquivo .txt com o separador "-" entre os campos...
      Espero ter sido claro... Obrigado 
      MARCELO SAMPAIO
    • Por patrick.menezes
      Boa tarde pessoal !
       
      Como faço para comparar os valores entre duas tabelas e retornar um valor final ?
       
      Por exemplo: 
      Leia valor
      col1 = vazão(float) e
      col2 = turbidez (float)  e
      col3 = pH  (float) agora compare e busque o resultado na col4 
      solução = valor pre estabelecido na col4
       
      Quando
      vazão digitada pelo usuário estiver entre dois valores da tabela de referência ( X e Y )
      turbidez digitada pelo usuário estiver entre dois valores ( X e Y)
      pH digitado pelo usuário estiver entre dois valores ( X e Y)
      então o Mysql retorna um valor pre estabelecido na col4.
       
      Alguém poderia me ajudar a resolver este problema?
       
      Agradeço desde já.
       
    • Por maicon_m
      Olá,
       
      Apesar de pesquisar e tentar de diversas formas, não estou conseguindo. A situação é a seguinte:
       
      O hotel tem uma tabela com valores variáveis para as acomodações dependendo dos dias. 
       
      TABELA VALORES
      preço      data_inicio    data_fim
      150.00   2018-04-20    2018-04-23
      250.00   2018-04-24    2018-04-27
       
      Quando o usuário escolhe check-in e check-out dentro dos valores de uma linha, consigo retornar com o BETWEEN. Porém, se o usuário escolher data de entrada (23) e data de saída (24), preciso retornar apenas o valor de 150,00 que foi o dia do check-in. Mas não estou conseguindo pois a consulta retorna o valor com base do dia do check-out (250,00).
       
      Penso que a solução deste problema irá me ajudar a solucionar outro: quando o cliente escolhe alguns dias que se encaixam dentro de uma tarifa e outros dias em que a tarifa é diferente...
       
      Desde já, obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.