Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Conversione Date

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166

    Conversione Date

    Mi sapete dire come faccio in Javascript a trasformare una data da, ad esempio, 15/05/2003 a 15-mag-2003 ?

    Grazie!

  2. #2
    Reale_Augello
    Guest

    Prova...

    ... così:

    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>
    Ciao !

  3. #3
    nosferatu_net
    Guest
    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ì:
    codice:
    var sdf = new SimpleDateFormat("d-MMM-yyyy");
    alert( sdf.format(myDate) );
    Ovviamente al posto di myDate ci infili l'oggetto Date che ti interessa formattare.

    La classe SimpleDateFormat l'ho pubblicata qui:
    http://forum.html.it/forum/showthrea...hreadid=450497

  4. #4
    Reale_Augello
    Guest

    Onore...

    ... a te, nosferatu_net, sicuramente una delle persone più in gamba che frequentano questo posto.


  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166
    PIENAMENTE D'ACCORDO !!!!


  6. #6
    nosferatu_net
    Guest
    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:
    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;
    }
    Sono andato a capo in corrispondenza dei ? perché la riga "allargava" il forum, voi toglieteli altrimenti non funge.

    Al posto di:
    alert( sdf.format(myDate) );
    dovreste quindi scrivere:
    alert( sdf.format(myDate).encase("a") );

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.