Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hdnrf

JS para somar dias a uma data

Recommended Posts

Ola pessoal,

 

Achei um código na net para somar dias a uma data porem, preciso fazer uma adaptação e nao estou sabendo como:

function adicionarDiasData(dias){
    var hoje        = new Date();
    var dataVenc    = new Date(hoje.getTime() + (dias * 24 * 60 * 60 * 1000));
    return dataVenc.getDate() + "/" + (dataVenc.getMonth() + 1) + "/" + dataVenc.getFullYear();
}

var novaData = adicionarDiasData(42);
document.getElementById("resultado").innerHTML = novaData;

Nova Data: <p id="resultado"></p>

fonte: http://jsfiddle.net/linhadecomando/ybf0Lz8t/

Preciso criar uma input onde informarei os "dias" que quero adicionar a data atual.

 

Alguém pode me dar uma luz de como posso altera-lo?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só trocar a chamada:

 

var novaData = adicionarDiasData(42);
pelo input:

 

var value = document.getElementById('seu_input').value;
var novaData = adicionarDiasData(value);
se quiser que o script mude a cada vez que você digitar, ai você usa um evento:

 

var $input = document.getElementById('seu_input');
$input.addEventListener('keyup', function(){
   var novaData = adicionarDiasData(this.value);
   document.getElementById("resultado").innerHTML = novaData;
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,

 

Muito obrigado deu certo:

Digite os dias:
<input id="somadata" type="date" onBlur="adicionarDiasData()" />

<p id="resultado"></p>

<script>
function adicionarDiasData(dias){
    var hoje        = new Date();
    var dataVenc    = new Date(hoje.getTime() + (dias * 24 * 60 * 60 * 1000));
    return dataVenc.getDate() + "/" + (dataVenc.getMonth() + 1) + "/" + dataVenc.getFullYear();
}

//var novaData = adicionarDiasData(42);
var value = document.getElementById('somadata').value;
var novaData = adicionarDiasData(value);

document.getElementById("resultado").innerHTML = novaData;

var $input = document.getElementById('somadata');
$input.addEventListener('keyup', function(){
   var novaData = adicionarDiasData(this.value);
   document.getElementById("resultado").innerHTML = novaData;
});
</script>

Acho que esta meio bagunçado, poderia customizar para melhor desempenho se possível?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde

Pode me ajudar eu estava procurando um jeito de fazer um script que some dias a uma data e acabei chegando neste tópico, o código abaixo me ajudou muito, mas ainda estou com uma dificuldade, e como estou começando aprender JavaScript não estou conseguindo achar uma solução. a situação é a seguinte neste código você coloca a data de hoje mas e se o usuário tivesse que digitar a data através de um input. como ficaria? pode me ajudar? obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por juniormatrix
      Olá
       
      Achei esse script aqui no fórum mesmo:
       
      $.validator.addMethod( "customEmail", function (value, element) { return this.optional(element) || /^[\w-\.]+@fulano\.com\.br$/i.test(value); }, "Por favor, insira um e-mail válido com o domínio @fulano.com.br" ); $("#formulario").validate({ ignore: ".ignore", rules: { empresa: { required: true }, nome: { required: true }, contato: { required: true }, celular: { required: true }, email: { required: true, email: true, customEmail: true }, }, }); Testei e funcionou perfeitamente, mas gostaria que liberasse mais e-mails válidos, ao invés de apenas um.

      Tem como fazer? 
       
      Se alguém puder ajudar, fico muito grato.
    • Por Alessandro Bodão
      Salve galerinha, passando pra mostrar pra vocês o novo projeto de marca que a Jatobá Estúdio desenvolveu, espero que gostem.   https://www.behance.net/gallery/166555627/Fernanda-Pinheiro-Nutricionista-Esportiva
    • Por rogerblower
      Boas pessoal, estou precisando de um calendário para agenda com crud para agendamento, mas teria que ser free.
      Obrogado.
    • Por Sapinn
      Fala galera! Tenho um site que possui alguns icones que são puxados da biblioteca flaticon , o problema é que de uma hora pra outra esses icones pararam de aparecer. No meu ambiente local funciona, mas no ambiente de produção eles não aparecem e eu recebo o seguinte erro no console: Failed to load resource: the server responded with a status of 404 () 
       
      Alguém saberia como resolver isso?
×

Informação importante

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