Fecha del formato 2/24 como & # 8220; febrero, 24 & # 8221;
Pregunta
Estoy tratando de hacer que una fecha que aparece como este mm / dd se convierta en el nombre del mes y el día como el 8/15, quiero que diga el 15 de agosto
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);
}
Solución
String[] months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
System.out.println(months[month - 1] + ", " + day);
Otros consejos
System.out.println( new SimpleDateFormat("MMMM, dd").format(
new SimpleDateFormat("MM/dd").parse("2/24") ) );
mmhh dejavu? nahhh duplicado exacto - > aquí
Consulte Calendario y SimpleDateFormat
Eche un vistazo al formato de fecha simple de Java:
http: //java.sun .com / j2se / 1.4.2 / docs / api / java / text / SimpleDateFormat.html
Puedes hacer algo como esto,
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));
2/24 como "24 de febrero"
Entonces, la fecha de inicio tiene un patrón de M / d
y la fecha final tiene un patrón de MMMM, d
?
Utilice java.text.SimpleDateFormat
sabiamente. Primero analice el String
basado en el patrón deseado en una Date
y luego format
la Date
obtenida en otro Cadena
con el patrón deseado.
Ejemplo básico:
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!)