Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,093

    js - secondi che intercorrono tra due date

    ciao,

    come faccio a ricavare i secondi che passano tra due date in questo formato:

    gg/mm/yyy HH:MM:ss

    ?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    function diff_secondi() {
      var dat1 = separa(document.NOMEFORM.NOMECAMPO_D1.value);
      var dat2 = separa(document.NOMEFORM.NOMECAMPO_D2.value);
      var diff = (dat2 - dat1)/1000;
      alert("differenza: "+diff+" secondi");
    }
    
    function separa(str) {
      var do = str.split(/ /);
      var d = do[0].split(/[\/\.]/);
      var o = do[1].split(/[:\.]/);
      var dd = new Date(d[2], parseInt(d[1],10)+1, d[0], o[0], o[1], o[2]);
      return dd.getTime();
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    attenzione alla funzione separa... do è una parola riservata

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,093
    grazie mille....

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    ormai l'avevo fatto e lo posto pure io
    codice:
    <script language="javascript">
    function DataOraValida(txt){
    	var re = /^\d{1,2}\/\d{1,2}\/\d{4} (([01]?\d)|(2[0-3]))(:([0-5]\d)){2}$/
    	if(re.test(txt)){
    		var adata = txt.split(' ')[0].split('/');
    		var gg = parseInt(adata[0],10);
    		var mm = parseInt(adata[1],10);
    		var aaaa = parseInt(adata[2],10);
    		var aora = txt.split(' ')[1].split(':');
    		var hh = parseInt(aora[0],10);
    		var MM = parseInt(aora[1],10);
    		var ss = parseInt(aora[2],10);
    		var xdata = new Date(aaaa,mm-1,gg,hh,MM,ss)
    		if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
    			return xdata
    		else return false
    	}else return false
    }
    
    function DifferenzaSecondi(ff){
    	var msg=''
    	do1=DataOraValida(ff.dataora1.value)
    	do2=DataOraValida(ff.dataora2.value)
    	if(!do1)msg+='- dataora1 non valida\n'
    	if(!do2)msg+='- dataora2 non valida\n'
    	if(msg=='')	alert((do2.getTime()-do1.getTime())/1000)
    	else alert('ATTENZIONE!\n'+msg)
    }
    </script>
    <form name="NOMEFORM">
    gg/mm/yyyy HH:MM:ss
    
    dataora1<input type="text" name="dataora1">
    
    dataora2<input type="text" name="dataora2">
    
    <input type="button" value="differenza secondi" onclick="DifferenzaSecondi(this.form)">
    </form>
    ci ho messo anche il controllo di data valida

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,093
    appena finisco questa cosa le provo...grazi mille...

    bye

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,093
    non funziona:

    <script language="javascript">
    function DataOraValida(txt){
    var re = /^\d{1,2}\/\d{1,2}\/\d{4} (([01]?\d)|(2[0-3]))([0-5]\d)){2}$/
    if(re.test(txt)){
    var adata = txt.split(' ')[0].split('/');
    var gg = parseInt(adata[0],10);
    var mm = parseInt(adata[1],10);
    var aaaa = parseInt(adata[2],10);
    var aora = txt.split(' ')[1].split(':');
    var hh = parseInt(aora[0],10);
    var MM = parseInt(aora[1],10);
    var ss = parseInt(aora[2],10);
    var xdata = new Date(aaaa,mm-1,gg,hh,MM,ss)
    if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
    return xdata
    else return false
    }else return false
    }

    function DifferenzaSecondi(ff){
    var msg=''
    do1=DataOraValida(ff.dataora1.value)
    do2=DataOraValida(ff.dataora2.value)
    if(!do1)msg+='- dataora1 non valida\n'
    if(!do2)msg+='- dataora2 non valida\n'
    if(msg=='') alert((do2.getTime()-do1.getTime())/1000)
    else alert('ATTENZIONE!\n'+msg)
    }
    </script>
    <form name="NOMEFORM">
    gg/mm/yyyy HH:MM:ss

    dataora1<input type="text" name="dataora1">

    dataora2<input type="text" name="dataora2">

    <input type="button" value="differenza secondi" onclick="DifferenzaSecondi(this.form)">
    </form>

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    devi fare il quote del messaggio e prendere il codice dalla textarea se vuoi avere quello che ho scritto io
    codice:
    <script language="javascript">
    function DataOraValida(txt){
    	var re = /^\d{1,2}\/\d{1,2}\/\d{4} (([01]?\d)|(2[0-3]))(:([0-5]\d)){2}$/
    	if(re.test(txt)){
    		var adata = txt.split(' ')[0].split('/');
    		var gg = parseInt(adata[0],10);
    		var mm = parseInt(adata[1],10);
    		var aaaa = parseInt(adata[2],10);
    		var aora = txt.split(' ')[1].split(':');
    		var hh = parseInt(aora[0],10);
    		var MM = parseInt(aora[1],10);
    		var ss = parseInt(aora[2],10);
    		var xdata = new Date(aaaa,mm-1,gg,hh,MM,ss)
    		if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
    			return xdata
    		else return false
    	}else return false
    }
    
    function DifferenzaSecondi(ff){
    	var msg=''
    	do1=DataOraValida(ff.dataora1.value)
    	do2=DataOraValida(ff.dataora2.value)
    	if(!do1)msg+='- dataora1 non valida\n'
    	if(!do2)msg+='- dataora2 non valida\n'
    	if(msg=='')	alert((do2.getTime()-do1.getTime())/1000)
    	else alert('ATTENZIONE!\n'+msg)
    }
    </script>
    <form name="NOMEFORM">
    gg/mm/yyyy HH:MM:ss
    
    dataora1<input type="text" name="dataora1">
    
    dataora2<input type="text" name="dataora2">
    
    <input type="button" value="differenza secondi" onclick="DifferenzaSecondi(this.form)">
    </form>

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    prova questo qua sopra adesso... ho disabilitato le faccine

  10. #10
    NON MI FUNZIONA

    potresti postarmi l'INTERA PAGINA HTML così faccio copia-incolla direttamente ? grazie !

    ciao
    _.-*''*-._.-*''*-._.-*''*-._ Non pescare il pesce, insegna a pescare !!! _.-*''*-._.-*''*-._.-*''*-._

    Entropic666 (or Entropicus) on the web

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.