Mi sapete dire come faccio in Javascript a trasformare una data da, ad esempio, 15/05/2003 a 15-mag-2003 ?
Grazie!![]()
Mi sapete dire come faccio in Javascript a trasformare una data da, ad esempio, 15/05/2003 a 15-mag-2003 ?
Grazie!![]()
... così:
Ciao !codice:<script language="JavaScript"> function ConvertiData(data) { giorno=data.substr(0,2); mese=parseInt(data.substr(3,2)); anno=data.substr(6,4); switch(mese) { case 1: mese="gen"; break; case 2: mese="feb"; break; case 3: mese="mar"; break; case 4: mese="apr"; break; case 5: mese="mag"; break; case 6: mese="giu"; break; case 7: mese="lug"; break; case 8: mese="ago"; break; case 9: mese="set"; break; case 10: mese="ott"; break; case 11: mese="nov"; break; case 12: mese="dic"; break; } data=giorno+"-"+mese+"-"+anno; return data; } </script>![]()
E' incredibile quanta gente si ritrovi a formattare date in JavaScript!!
Da quando l'ho scritta il mese scorso, la classe SimpleDateFormat l'ho consigliata in almeno 10 thread diversi!
Mi riferisco ad un formattatore di date più generico di quello proposto dal buon Augello, che si usa così:
Ovviamente al posto di myDate ci infili l'oggetto Date che ti interessa formattare.codice:var sdf = new SimpleDateFormat("d-MMM-yyyy"); alert( sdf.format(myDate) );
La classe SimpleDateFormat l'ho pubblicata qui:
http://forum.html.it/forum/showthrea...hreadid=450497
... a te, nosferatu_net, sicuramente una delle persone più in gamba che frequentano questo posto.
![]()
PIENAMENTE D'ACCORDO !!!!
![]()
![]()
![]()
![]()
Ah, ah, ah!![]()
Ma dai!
Non sapevo di avere simili estimatori!
Comunque per il mese in minuscolo serve anche quest'altro prototipo, che fa "matchare" il case desiderato:
Sono andato a capo in corrispondenza dei ? perché la riga "allargava" il forum, voi toglieteli altrimenti non funge.codice:String.prototype.encase = function(pattern) { if (typeof pattern != "string") return this; var a="a", A="A", z="z", Z="Z", str="", i, j, pt, ch; String.prototype.__c = String.prototype.toString; for (i = 0, j = Math.min(this.length, pattern.length); i < j; i++) { ch = this.charAt(i); pt = pattern.charAt(i); String.prototype.__c = pt >= A && pt <= Z ? String.prototype.toUpperCase : pt >= a && pt <= z ? String.prototype.toLowerCase : String.prototype.toString; str += ch.__c(); } str += this.substring(i).__c(); delete String.prototype.__c; return str; }
Al posto di:
alert( sdf.format(myDate) );
dovreste quindi scrivere:
alert( sdf.format(myDate).encase("a") );