Visualizzazione dei risultati da 1 a 5 su 5

Discussione: new date non funziona

  1. #1

    new date non funziona

    Ciao,

    come mai quando fa il new date mi scrive 2006?...non capisco..

    <table id='scadenza' width="100%">
    <tr>
    <td id='30' width="60%">30gg</td>
    <td id='40' width='30%'>10gg</td>
    <td id='50' WIDTH='10%'>Scaduto</td>
    </tr>
    </table>
    <script>

    var data = new Date();
    var giorno = data.getDate();
    var mese = data.getMonth();
    mese = mese +1;
    //if(giorno < 10) {
    // giorno = 0 + giorno;
    //}
    var anno = data.getYear();
    alert(anno);
    var oggi = giorno + "/" + mese + "/" + anno;

    var uno="12/1/2005";
    var due=oggi;

    var prima = new Date(uno);
    var seconda = new Date(due);

    diff = (seconda - prima) / (1000 * 3600 * 24);

    alert(oggi);
    alert(uno);
    alert(prima);
    alert(seconda);
    alert(diff);

    if (diff <= 30) {
    document.getElementById('30').style.backgroundColo r='#00c200';
    }
    if (diff > 30 && diff < 40) {
    document.getElementById('30').style.backgroundColo r='#00c200';
    document.getElementById('40').style.backgroundColo r='ffff00';
    }
    if (diff > 40) {
    document.getElementById('30').style.backgroundColo r='#00c200';
    document.getElementById('40').style.backgroundColo r='#ffff00';
    document.getElementById('50').style.backgroundColo r='#ff0000';
    }
    </script>


    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto dovresti usare il metodo .getFullYear(), altrimenti il comportamento e` diverso in browser diversi.

    Poi la tua stringa 12/1/2005 viene letta da Date() come 1 dicembre: ti conviene usare la sintassi Date(anno, mese-1, giorno) (con i dati numerici)

    Terzo: fai un passaggio inutile nel calcolo di oggi: prima usi Date() (senza parametro), salvi la stringa e la ridai in pasto a Date(). A che ti serve?
    Sarebbe meglio azzerare i campi setHours, setMinutes, setSeconds della data oggi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    e come lo devo usare il getfullyear? non capisco...

    ma non ci pensa new date quando gli passo il parametro uno oppure due a convertirlo?

  4. #4
    allora forse non ho capito io questa tua discussione:

    http://forum.html.it/forum/showthrea...hreadid=771421

    in cui dici che funziona con tutti i tipi di formattazione



    grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quello si riferiva alla routine che converte la data nei tre numeri (tremite le regexp).

    Se usi la funzione Date() (interna al JS) per convertire una stringa in data, devi seguire le specifiche per quella funzione.
    http://www.devguru.com/technologies/...kref/date.html
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2026 vBulletin Solutions, Inc. All rights reserved.