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.
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
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
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>![]()
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
VBScriptveramente 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