2012-09-06 14 views
6

im así:cómo crear nueva línea entre dateformat formato de fecha creación

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE, h:mm a"); 

necesito una nueva línea entre la fecha, el mes y el tiempo algo como esto

thus ,sep 6 
4:25pm 

así que hice lo siguiente cambios:

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,"+"\n"+" h:mm a"); 

que no me dio nada solo se crearon en una línea como la siguiente:

thus ,sep 6 4:25pm 

así que tomé formato de objeto como éste

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,"); 
SimpleDateFormat sdf1 =new SimpleDateFormat(" h:mm a"); 

e hicieron esto:

sdf.format(calendar.getTime())+"\n"+sdf1.format(calendar.getTime()) 

pero una vez más da el mismo resultado

thus ,sep 6 4:25pm 

calendario es a C Objeto alendar. ¡Cualquier ayuda será apreciada!

Respuesta

2

Creo que Android literalmente necesita \n para aparecer en la cadena, no un carácter de nueva línea real. Por lo tanto, tiene que escapar de la barra invertida en la cadena de Java, por lo menos así:

String output = "Thus ,Sep 6" + "\\n" + "4:25pm"; 
+0

necesito tiempo diferente, siempre puedo usar su valor codificado y también traté de usar 2 barras diagonales inversas –

+0

simple '\ n' funciona. Puede haber algún problema con mi JSON. Estoy almacenando esto. Mi primera forma de empezar a funcionar correctamente después de tomar el mismo código dentro de otra clase. Gracias de todos modos. –

1

¿Estás seguro de que el \n desaparece? Al menos su último intento no puede tener nada que ver con el formato de fecha. ¿Por casualidad crea su salida para una página web y debería usar <br /> instread of \n?

+0

Chicos estoy exhibiendo en un dispositivo Android. –

+0

¡Ah, bueno, entonces tienes que asegurarte de que TextView esté configurado en varias líneas! – Ridcully

+0

Por ejemplo, vea la segunda respuesta a esta pregunta: http://stackoverflow.com/questions/6674578/multiline-textview-in-android – Ridcully

1

No utilice \ n, el uso:

System.getProperty("line.separator"); 

para obtener el separador de línea.

Encontré otra fuente que dice que puede usar &#xA; para tener un retorno de carro.

+0

No creo que funcione, ya que el sistema no funcionará con el dispositivo Android o el emulador. –

+0

@AndroidKiller He visto problemas específicos de Android y encontré esto: http://stackoverflow.com/questions/8693544/carriage-returns-line-breaks-with-n-in-strings-in-android – LaGrandMere

+0

@AndroidKiller: added Otra posibilidad en Android – LaGrandMere

2

Si está visualizando en una vista HTML, querrá asegurarse de utilizar un salto de línea HTML <br/>, en lugar de \n.

+0

Estoy mostrando en el dispositivo Android –

+0

¿A qué tipo de vista está enviando su texto? Obviamente, sea lo que sea, no es compatible el caracter '\ n'. Es posible que desee probar el" \ n \ r "también. – mprivat

6

que ver desde una de sus comentarios de que su solución original que realmente funciona, pero no tenía la misma pregunta cuando vine aquí, así que déjame agregar una respuesta a esta pregunta. (Mi formato es un poco diferente de la suya.)

Date date = new Date(unixMilliseconds); 
SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy\nh:mma"); 
String formattedDate = sdf.format(date); 

Los \n en MMM d, yyyy\nh:mma obras porque ni el \ ni el n son interpretados por SimpleDateFormat (see documentation) y por lo tanto puedan ser traspasados ​​a la cadena de Java. Si tuvieran un significado especial, podrías haber usado comillas simples: MMM d, yyyy'\n'h:mma (que también funciona).

+0

tienes razón puede ser. Gracias por tu respuesta. Lo intentaré si afronto cualquier situación de manera similar en el futuro. :) –

+1

Ok. La respuesta que marcó como correcta, sin embargo, parece estar equivocada (la barra invertida adicional no es necesaria antes de la n "\\ n"). – Suragch

+0

Esta debería ser la respuesta aceptada. – Mangesh

Cuestiones relacionadas