Newsgroup: it.comp.lang.javascript
Titolo: calcolo data lunedi e venerdi

ciao,
ho il problema di scrivere la data del lunedi' e del venerdi' della
settimana attuale quella prossima in una pagina html, in pratica nella
settimana del per esempio 10 aprile, dovrei generare: 8 aprile - 12 aprile.
non essendo un programmatore ho provato a mettere insieme un po' di codice
preso qua e la' che alla fine sembrava che funzionasse. il problema e' che
appena c'e' il cambio di mese mi ritrovo con delle date assurde. come posso
cambiare il codice in modo che funzioni?
grazie
vito
var jetzt = new Date();
var Tag = jetzt.getDate();
var Jahresmonat = jetzt.getMonth();
var Monat = new
Array("Januar","Februar","M&auml;rz","April","Mai","Juni",
"Juli","August","September","Oktober","November","Dezember");
var Month = new
Array("January","February","March","April","May","June",
"July","August","September","October","November","December");
// montag
var jetzt = new Date();
var TagInWoche = jetzt.getDay();
var montag = new
Array("1","0","-1","-2","-3","-4","-5");
var lunedi = (Tag + montag[TagInWoche] *1);
// freitag
var jetzt = new Date();
var TagInWoche = jetzt.getDay();
var freitag = new
Array("5","4","3","2","1","0","-1");
var venerdi = (Tag + freitag[TagInWoche] *1);
// montag bis freitag
var woche = (lunedi +". "+ Monat[Jahresmonat] +" - " + venerdi +". "+
Monat[Jahresmonat]);
// monday to friday
var week = (lunedi +". "+ Month[Jahresmonat] +" - " + venerdi +". "+
Month[Jahresmonat]);

Il codice postato era dimorto incasinato, sicché 'un ce l'ho  fatta a 
modificarlo.
Questo però funziona:
var oggi = new Date();
var ms = Date.parse(oggi.toString());
var Tag = oggi.getDay();
if (Tag==6 || Tag==0) {
 
	alert("Oggi è sabato o domenica");
}
else {
	var lunedi = new Date(ms - (1000*3600*24*(Tag-1)));
	var venerdi = new Date(ms + (1000*3600*24*(5-Tag)));
	alert(lunedi.toString());
	alert(venerdi.toString());
}
se ti serve solo il giorno del mese del lunedì e del venerdì devi usare 
semplicemente lunedi.getDate() e venerdi.getDate()
non sapevo che fare riguardo al sabato e alla domenica
Maurizio Manetti
Per rispondermi togliere TOGLIERE

 funzioni?
Non solo quando c'č il cambio di mese. La settimana in Italia inizia di
lunedě e termina di domenica, in America invece inizia di domenica e termina
di sabato. Lo script segue la convenzione americana.
Comunque lo script che dovrebbe aggiustare le cose č il seguente:
var mese = new Array("Gennaio", "Febbraio", "Marzo", "Aprile",
      "Maggio", "Giugno", "Luglio", "Agosto",
      "Settembre", "Ottobre", "Novembre", "Dicembre");
var data = new Date()
var oggi = data.getDay();
// togliere l'istruzioni che segue se si vuole seguire la
// convenzione americana.
if (oggi == 0)
    oggi = 7;
var lunedi = 1 - oggi;
var venerdi = 5 - oggi;
var dateb = new Date(Number(data) + 86400000 * lunedi);
var datec = new Date(Number(data) + 86400000 * venerdi);
document.write(dateb.getDate() + " " + mese[dateb.getMonth()] + ' - ');
document.write(datec.getDate() + " " + mese[datec.getMonth()] + '<br>');
Maurizio.

grazie a tutti
questo script ha funzionato perfettamente.... ed e' decisamente piu'
compatto di quel collage che avevo fatto io.
grazie mille
vito

 settimana del per esempio 10 aprile, dovrei generare: 8 aprile - 12
aprile.
<script>
function gfC_oggiSettimana(){
    return new Date(new Date()-((new Date().getDay()-1)*86400000))+"\n"+new
Date(new Date()-((new Date().getDay()-1)*86400000)+(4*86400000))
}
alert(gfC_oggiSettimana())
</script>
--
 [Ciao]
  [web]   
www.gfcarlotti.it
   [mail]   
fra...@gfcarlotti.it