Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Calcolo di una data

  1. #1

    Calcolo di una data

    Salve ragazzi,
    vorrei fare una cosa un po' particolare con il mio javascrip, del quale mi servo per segnalare il giorno odierno, e mi serve il vostro prezioso aiuto. Il codice è questo:

    codice:
    <!--
    
    function WebDate() {
    	var now = new Date();
    	var year= now.getYear();if (year < 1000) year += 1900;
    	nameMth = new Array('gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');
    	document.write(' <font color=#000000>' + now.getDate() + " " + nameMth[now.getMonth()] + " " + year+'</font>');
    	
    }
    
    //-->
    
    <!--
    
    function toggleMe(a){
    var e=document.getElementById(a);
    if(!e)return true;
    if(e.style.display=="none"){
    e.style.display="block"
    } else {
    e.style.display="none"
    }
    return true;
    }
    
    //-->
    Richiamato nella pagina da:

    codice:
    <script type="text/javascript">WebDate();</script>
    Mi chiedevo:

    E' possibile implementare una variabile grazie alla quale, se il giorno odierno è diverso da quello espressamente impostato, restituisca un risultato maggiorato di 6?

    Ad esempio, entrando nella pagina con l'elenco delle attività del venerdì, essendo oggi sabato, invece di visualizzare "Sabato 28 aprile 2007", dato errato, si visualizzi la data del prossimo venerdì, ad esempio "Venerdì 4 maggio 2007".

    Spero di essermi spiegato

  2. #2
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    Cosi dovrebbe andare


    function WebDate() {
    var surplus = 0;
    var standard = new Date(2007,04,30); // giornoi impostato
    var now = new Date();
    var year= now.getYear();if (year < 1000) year += 1900;
    nameMth = new Array('gennaio','febbraio','marzo','aprile','maggi o','giugno','luglio','agosto','settembre','ottobre ','novembre','dicembre');
    if (now!=standard) var surplus = 6;

    document.write(' <font color=#000000>' + now.getDate() *1+ surplus+ " " + nameMth[now.getMonth()] + " " + year+'</font>');

    }

    Ciao Matteo

  3. #3
    Non so se ho sbagliato io. Ho sostituito il codice con il tuo ma mi viene restituito questo risultato:

    286 aprile 2007


  4. #4
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    Si è un problema di cast di jhavascript

    metti il *1 anche a surplus quando stampa

    Ciao Matteo

  5. #5
    Cioè? :master:

  6. #6
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    fai cosi :P

    document.write(' <font color=#000000>' + parseInt(now.getDate())*1 + parseInt(surplus)*1+ " " + nameMth[now.getMonth()] + " " + year+'</font>');


    In teoria cosi va

    Ciao Matteo

  7. #7
    Mi hanno suggerito anche questo, che ne dici?


    var data = new Date(); // crea la nuova data

    if ( data.getDay() < 5 ) { // 5 è venerdi
    data.setDate( data.getDate() + (5 - data.getDay()));
    } else if ( data.getDay() > 5 ) {
    data.setDate( data.getDate() + 6);
    }

  8. #8
    Mistero risolto. Eccolo qui:

    function WebDate() {
    var now = new Date();

    if ( now.getDay() < 5 ) { // 5 è venerdi
    now.setDate( now.getDate() + (5 - now.getDay()));
    } else if ( now.getDay() > 5 ) {
    now.setDate( now.getDate() + 6);
    }

    nameMth = new Array('gennaio','febbraio','marzo','aprile','maggi o','giugno','luglio','agosto','settembre','ottobre ','novembre','dicembre');
    document.write(' <font color=#000000>' + now.getDate() + " " + nameMth[now.getMonth()] + " " + now.getFullYear() +'</font>');

    }

    Mi ha aiutato un ragazzo sul forum di Web-link.

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.