Jump to content
Josué Alvares

Como armazenar e verificar a data no localstorage do navegador?

Recommended Posts

Olá pessoal,

Estou armazenando alguns dados no localstorage do navegador e gostaria de definir uma data assim que a pessoa acessar o site pela primeira vez, depois quando passar 10 dias quero mostrar apenas uma mensagem numa div.

Então para gerar a data e armazenar no localstorage, eu fiz isso:

var object = {value: "value", timestamp: new Date().getTime()}
localStorage.setItem("key", JSON.stringify(object));

Até aqui está funcionando normalmente, estou conseguindo armazenar a data no localstorage, porém, notei que está armazenando com uma data antiga, como por ex: 1450827081784 que representa 18/11 sendo que eu fiz hoje 24/12/2015.

 

Eu utilizei esse site para converter a data gerada http://www.onlineconversion.com/unix_time.htm, se quiser ver o resultado com seus próprios olhos, copie esse código e cole lá no site e note que vai gerar a data (Sat, 18 Nov 47944 02:43:04 GMT) sendo que fiz hoje dia 24/12/2015.

 

Depois, para verificar o item tentei usar:

var object = JSON.parse(localStorage.getItem("key")),
timestamp = object.timestamp,
value = object.value;

verificarValidade(timestamp);

Gostaria de saber se esse é o melhor método ou se há algo melhor ou mais simplificado.

 

Quem puder me ajudar mesmo que com algum link ou sugestão, eu ficaria muito grato pela ajuda.

 

 

 

 

Share this post


Link to post
Share on other sites

Mais simples seria gravar um cookie de 10 dias.

E verificar a existência do cookie. Se ele não existir mais, ai você mostra a mensagem.

Share this post


Link to post
Share on other sites

Então William, eu pensei nessa possibilidade mas como eu preciso gravar algumas informações na primeira visita ao site, se a pessoa limpar o cookie ou utilizar algum programa que faz esse tipo de limpeza, perderei os dados. Por isso eu queria alguma solução para localstorage, pois nesse formato eu garanto as informações armazenadas.

 

Eu realmente precisava de alguma sugestão para localstorage.

Share this post


Link to post
Share on other sites

Se a pessoa usar algum programa para limpeza, o localstorage vai junto.

Share this post


Link to post
Share on other sites

boa tarde pessoal....aproveitando o post...queria uma ajuda sobre a questao localstorage...tenho uma pagina que tem mais de 1000 li ( listas )....mas ela tem uma caixa de pesquisa para facilitar a localozacao das LI.....mas queria adicional um botao na frente de cada LI  para o usuario adicional suas LI preferidas a favoritas e depois em outra pagina recuperar essas Li  gravadas... mas agora ao inves de um  botao  para gravar...agora seria excluir alguma LI caso ele queira...penso que o local storage possa resolver essa minha questao.

 

desde ja muito obrigado pela ajuda..

 

<li class="topcoat-list__item"><a href="familiaarquiteturadivina.html">familia arquitetura divina - vera lucia</a><br /><span style="font-size:11px;">pais</span></li>

 

 

essa he uma das 1000 LI

 

 

http://canticosliturgicos.16mb.com/casamento/app/pages/list-todos.html

 

esse é um exemplo da pagina com as LIs

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fideles
      Pessoal, tenho uma dúvida, talvez muito boba.
       
      Tenho um formulario com os input em array, e um alert javascript mostrando que foi registrado com suceso.
       
      O problema maior é que se for gravado 30 registro no banco de dados, ele mostra 30 alertas de registro gravado com suceso, por acaso é possivel limitar esse tanto de alerta para somente 1 independente da quantidade que ele grava no banco ?
    • By Erick Plant
      Olá! Precisando de uma ajudinha.
       
      FICAREI MUITO GRATO PELA AJUDA...SE PUDEREM ME DAR UMA LUZ!
       
      Estou arrumando um código que foi de outra pessoa, mas antes disso, preciso "apagar o incêndio" aqui e fazer funcionar uma implementação.
       
      Tenho um dropzone que carrega um arquivo sem necessidade de form. O problema começa por agora. Foi-me pedido para que eu implementasse um select trazendo do banco uma info e que enviasse via get 'junto com a url que envia as informaçoes do arquivo'.
      O carregador do select foi feito, eu estou pegando o value do select dinamicamente, pois não tem form.
      Porém, o problema é q nao sei como pegar esse value capturado para implentá-lo  na url via get.
       
       
      o js  e o dropzone na pag é esse:
      //AQUI EU PEGO O VALOR DO SELECT DE FORMA DINÂMICA id = ''; $(document).ready(function () { $("#seguimento").change(function () { id = $('#seguimento').val(); }); }); Dropzone.autoDiscover = false; Dropzone.options.tstDz = { //////////////////////////////////////////////////////// //AQUI O DROPZONE QUE PASSA OS PARAMETROS VIA GET /////////////////////////////////////////////////////// url: "<?= base_url('homeCgmrr/MonitoramentoPadraoDesempenho/addDoc?ambiente='.$ambiente.'&value='); ?>", paramName: "arquivo", maxFilesize: 2, acceptedFiles: ".xlsx,.ods,.xls,.csv", addRemoveLinks: true, // init: function () { // this.on("complete", function (file) { // setGallery(file); // }) // } init: function () { this.on('error', function(file, response) { $.notify("Você não pode fazer upload de arquivos com essa extensão, apenas arquivos .xlsx !", 'warning'); }); this.on('success', function(file, resp){ if(resp['status'] == false){ $.notify("Ocorreu erro no preenchimento da planilha. Por favor, verifique e tente novamente.", 'warning'); setGalleryError(file); }else{ setGallery(file); $.notify("Arquivo enviado com Sucesso!", 'success'); } }); } };  
      Como eu posso fazer pra carregar o id SE o base_url está em PHP?
      url: "<?= base_url('homeCgmrr/MonitoramentoPadraoDesempenho/addDoc?ambiente='.$ambiente.'&value='AQUI VAI O ID); ?>",  
      Obrigado pela ajuda!
       
    • By Elisame Araújo
      Bom dia,
       
      Estou montando um site de clã de jogos online (especificamente de Battlefield), e neste momento estou desenvolvendo o painel de administração do site, mas me deparei com uma dúvida que não consigo encontrar uma situação na internet que se aplique ao que eu preciso.
       
      A situação é a seguinte:
       
      Eu tenho um módulo onde o administrador vai adicionar um mapa, um tamanho de jogo e um modo para a rotação do servidor do clã, a exemplo desse pop-up:
       
      A lista de mapas vem do BD.
       
      O que eu preciso é que o segundo e o terceiro <select> sejam preenchidos baseados na seleção do primeiro. Onde, a exemplo:

       
      Seleção de Mapa: Ilhas Lofoten
      Opções Disponíveis a partir do 1º Select: 16 e 32 Jogadores
      Opções Disponíveis a partir do 1º e 2º Select: Dominação, TDM, etc.
       
      Para ficar mais simplificado: Seleção 1 > Opções A Partir de Seleção 1 > Opções A partir de Seleção 1 e 2
       
      Infelizmente eu ainda não tenho conhecimento em JavaScript ou JQuery ou JSON - ainda estou para aprender -, e não consigo encontrar uma resposta simplificada para isso
       
      Como eu poderia fazer isso da maneira mais simples ou didática?
       
    • By lezão
      Ola Galera.
      Boa tarde!
      Td bem com vcs?
      Tenho um codigo de script ele roda perfeitamente, mas ele possui um detalhezinho, o resultado é apresentado dentro de um input text.
      teria como algum me  ajudar em cima deste codigo a tirar o resultado do input e apresentar fora do input?
      <input type="checkbox" name="sabor" id="evento_value1" value="28.00"> <input type="checkbox" name="sabor" id="evento_value2" value="28.00"> <input type="text" size="5" id="evento_value" onclick="AddValor()" disabled="disabled"/> <script type="text/javascript"> var total = 0; //Chama a função com click em qualquer checkbox $(':checkbox').click(function() { //Atribui o valor do input p/ variável 'valor' var valor = parseInt($(this).val()); //Se o checkbox for marcado ele soma se não subtrai if ($(this).is(":checked")) { total += valor; } else { total -= valor; } //Atribui o valor ao input $("#evento_value").val(total); }); </script>  
    • By Sapinn
      Pessoal como faço para somar horas e minutos no javascritp pegando os dados em um campo de texto??? Eu tenho o codigo mas ele não funciona 

       
      <input type="text" value="2020-11-10 15:20" id="valor-tempo" > <input type="text" value="2020-11-10 01:20" id="adicionar-tempo" > <script type="text/javascript"> let input_hora = document.getElementById('valor-tempo').value; let data = new Date(input_hora) let a = `${data.getHours()}:${data.getMinutes()}` let input_hora2 = document.getElementById('adicionar-tempo').value; let data2 = new Date(input_hora2) let b = `${data2.getHours()}:${data2.getMinutes()}`             var adicionar = document.getElementById("adicionar-tempo").value;         var pega_tempo = document.getElementById("valor-tempo").value;             function somaHora(a, b, zerarHora) {          if(a.length != 5 || b.length != 5) return "00:00";     temp = 0;     nova_h = 0;     novo_m = 0;           hora1 = a.substr(0, 2) * 1;     hora2 = b.substr(0, 2) * 1;     minu1 = a.substr(3, 2) * 1;     minu2 = b.substr(3, 2) * 1;         temp = minu1 + minu2;     while(temp > 59) {             nova_h++;             temp = temp - 60;     }     novo_m = temp.toString().length == 2 ? temp : ("0" + temp);       temp = hora1 + hora2 + nova_h;     while(temp > 23 && zerarHora) {             temp = temp - 24;     }     nova_h = temp.toString().length == 2 ? temp : ("0" + temp);       return nova_h + ":" + novo_m; } novaHora = somaHora(a,b, false); console.log(novaHora);             </script>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.