Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Giorno della settimana

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    85

    Giorno della settimana

    Come faccio a estrapolare il giorno della settimana da una data?
    Quale è la funzione?
    Mettiamo che ho la data inserita in un campo di un form e voglio che in un altro campo del form mi venga restituito il valore del giorno della settimana.
    Patrik

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se la data la prendi da un campo del form e' solo una stringa... prima la devi convertire (ammettiamo che sia nel formato gg/mm/aaaa):

    s = document.mioForm.miaData.value
    c = s.split("/")
    o = new Date(c[2], c[1]-1, c[0])

    // A questo punto puoi estrapolare il numero del giorno della settimana (0=domenica, 6=sabato):

    w = o.getDay()

    // ora puoi pescare da un array...
    aw = new Array("domenica","lunedi'","martedi'","mercoledi'" ,"giovedi'","venerdi'","sabato")
    risultato = aw[w]

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao patrik,

    per il giorno della settimana da una data in javascript si usa getDay() che restituisce da 0 a 6 (0=domenica,1=lunedì,...)
    ti faccio l'esempio che hai chiesto (ci metto anche il controllo di data valida)
    codice:
    <script language="javascript">
    aGiorni = new Array()
    aGiorni[0] = "Domenica"
    aGiorni[1] = "Lunedì"
    aGiorni[2] = "Martedì"
    aGiorni[3] = "Mercoledì"
    aGiorni[4] = "Giovedì"
    aGiorni[5] = "Venerdì"
    aGiorni[6] = "Sabato"
    function dataValida(txt){
    	var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
    	if(re.test(txt)){
    		var adata = txt.split('/');
    		var gg = parseInt(adata[0],10);
    		var mm = parseInt(adata[1],10);
    		var aaaa = parseInt(adata[2],10);
    		var xdata = new Date(aaaa,mm-1,gg)
    		if((xdata.getYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
    			return xdata
    		else return false
    	}else return false
    }
    	
    function Giorno(strData){
    	var adata = dataValida(strData)
    	if(adata)
    		document.forms[0].giorno.value=aGiorni[adata.getDay()]
    	else{
    		document.forms[0].giorno.value=''
    		alert('Data NON valida')
    	}
    }
    
    </script>
    <form>
    data gg/mm/aaaa<input type="text" name="data" onchange="Giorno(this.value)">
    <input type="text" name="giorno" readonly>
    </form>

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    85
    ho due campi in un form, uno si chiama decorrenza e l'altro rientro.
    Una volta inserito una data nel campo decorrenza vorrei che mi comparisse nel campo rientro il valore del giorno della settimana della data precedentemente immessa.
    Quindi ho associato all'evento onchange di decorrenza, la funzione ma non mi compare nulla nell'altro campo. Perchè?????


    <SCRIPT FOR="decorrenza" EVENT="onchange" LANGUAGE="VBScript">
    s = document.all.decorrenza.value
    c = s.split("/")
    o = new Date(c[2], c[1]-1, c[0])
    w = o.getDay()
    Document.all.rientro.value=w
    </script>
    Patrik

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    VBScript veramente si tratta di javascript.... :rollo:

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.