2009-11-26 7 views
0

J'essaye de faire une date qui vient comme ça, le mm/jj tourne dans le nom du mois et du jour comme il arrive 8/15 je veux dire août, 15Date de mise en forme 2/24 comme "Février, 24"

public void printAlphabetical() 
{ 
      int month,day;// i got the month and day from a user previously in my program 

     String s = String.format("%B, %02d%n",month,day); 
     Date date = new Date(); 
     date.parse(s);// this does not work 
     System.out.printf(s); 
} 
+0

il est épelé février;) – xenoterracide

+1

aussi vous pouvez développer où vous avez réellement un problème. p.s. Cela ressemble à un problème de devoirs. – xenoterracide

+0

c'est un devoir et donc je l'ai mal orthographié tu sais ce que je voulais dire lol de toute façon je suis allé à toute la journée hier et depuis 7 heures – daddycardona

Répondre

0
String[] months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", 
        "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} 

System.out.println(months[month - 1] + ", " + day); 
+0

Il veut des noms de mois complets et vous laissez les fonctionnalités SimpleDateFormat de côté. – BalusC

+0

Ça ne me dérange pas qu'il étende «février» à «février». – Amarghosh

+0

http://java.sun.com/j2se/1.4.2/docs/api/java/text/DateFormatSymbols.html –

0

2/24 comme « Février 24 »

Ainsi, la date de départ a un motif de M/d et la date limite a un modèle de MMMM, d?

Utilisez judicieusement java.text.SimpleDateFormat. Tout d'abord analyser le String basé sur le modèle souhaité dans un Date puis format le Date obtenu dans un autre String avec le modèle désiré.

exemple de base:

String datestring1 = "2/24"; // or = month + "/" + day; 
Date date = new SimpleDateFormat("M/d").parse(datestring1); 
String datestring2 = new SimpleDateFormat("MMMM, d").format(date); 
System.out.println(datestring2); // February, 24 (Month name is locale dependent!) 
+0

Qu'en est-il de lier directement à http://stackoverflow.com/questions/1800091/java-date-format-real-simple/1800202#1800202? –

+0

J'ai essayé ce qu'il a dit des types incompatibaux comme une erreur – daddycardona

+0

J'ai essayé ceci et j'obtiens une erreur type incompatible – daddycardona

1

Vous pouvez faire quelque chose comme cela,

  DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); 
      Date date = (Date)formatter.parse(dateStr + "/2000); // Must use leap year 
      formatter = new SimpleDateFormat("MMMM, dd"); 
      System.out.println(formatter.format(date)); 
+0

j'ai essayé ce got obvorables types – daddycardona

+0

Désolé. J'ai le mois et le jour inversés. Édité. –

2
System.out.println(new SimpleDateFormat("MMMM, dd").format( 
          new SimpleDateFormat("MM/dd").parse("2/24"))); 

mmhh dejavu? nahhh exact duplicata ->here

+0

Comme je l'interprète, il voulait plutôt 'd' au lieu de' dd'. – BalusC

+0

Oui, c'est un mystère. Cela fonctionne de la même façon. L'analyse 2/24 rapporte le 24 février. – OscarRyz

+0

Oui, mais le formatage en utilisant 'd' donne le 1er février, et le formatage en utilisant' dd 'donne le 1er février. – BalusC