2012-09-06 15 views
6

im creando formato data così:come creare nuovi linea tra dateformat

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

Ho bisogno di una nuova linea tra la data, il mese e l'ora qualcosa di simile

thus ,sep 6 
4:25pm 

così ho fatto la seguente modifiche:

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

che non mi ha dato nulla solo ha creato in una sola riga come questa:

thus ,sep 6 4:25pm 

così ho preso oggetto formato come questo

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

e ha fatto questo:

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

ma dà ancora una volta lo stesso risultato

thus ,sep 6 4:25pm 

calendario è AC oggetto di vendita. Qualsiasi aiuto sarà apprezzato !!

risposta

2

Penso che Android abbia letteralmente bisogno di \n per apparire nella stringa, non un vero carattere di nuova riga. Quindi, è necessario per sfuggire al backslash nella stringa di Java, quindi qualcosa di simile:

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

ho bisogno di un tempo diverso non posso mai usare il tuo valore hard-coded e ho anche provato a usare 2 barre posteriori –

+0

semplice '\ n' works.May esserci stato qualche problema con il mio JSON sto memorizzazione di questo primo modo into.My iniziato a lavorare correttamente dopo ho preso lo stesso codice all'interno di un altro class.Thanks comunque .. –

1

Sei sicuro che lo \n scompare? Almeno il tuo ultimo tentativo non può avere nulla a che fare con il formato della data. Per caso crei il tuo output per una pagina web e dovresti usare lo <br /> di \n?

+0

Ragazzi sto visualizzando nel dispositivo Android. –

+0

Ah, beh, allora devi assicurarti che TextView sia impostato su multi-linea! – Ridcully

+0

Per esempio si veda la seconda risposta a questa domanda: http://stackoverflow.com/questions/6674578/multiline-textview-in-android – Ridcully

1

Non usare \ n, uso:

System.getProperty("line.separator"); 

per ottenere il separatore di riga.

Ho trovato un'altra fonte che indica che è possibile utilizzare &#xA; per ottenere un ritorno a capo.

+0

Non penso che funzionerà come sistema non funziona dispositivo Android o un emulatore. –

+0

@AndroidKiller ho guardato specifici problemi di Android, e ho trovato questo: http://stackoverflow.com/questions/8693544/carriage-returns-line-breaks-with-n-in-strings-in-android – LaGrandMere

+0

@AndroidKiller: aggiunto un'altra possibilità in Android. – LaGrandMere

2

Se si sta visualizzando una vista HTML, è necessario assicurarsi di utilizzare un'interruzione di riga HTML <br/>, anziché \n.

+0

io sono la visualizzazione nel dispositivo Android. –

+0

che tipo di vista stai inviando il testo a? Ovviamente, qualunque esso sia, non supporta il carattere '\ n'. Si potrebbe voler provare anche il \ n \ r" – mprivat

6

vedo da uno dei vostri commenti che la vostra soluzione originale funziona realmente, ma ho avuto la stessa domanda quando sono venuto qui, quindi lasciami aggiungere una risposta a questa domanda. (La mia formattazione è un po 'diversa dalla vostra.)

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

I \n in MMM d, yyyy\nh:mma opere perché né il \ né il n sono interpretati da SimpleDateFormat (see documentation) e quindi sono passati alla stringa Java. Se avessero un significato speciale, avresti potuto usare le virgolette singole: MMM d, yyyy'\n'h:mma (che funziona anche).

+0

si sta diritto può essere. Grazie per la tua risposta. Lo proverò se affronterò qualsiasi situazione in modo simile in futuro. :) –

+1

Ok. La risposta che hai contrassegnato come corretta, però, sembra essere sbagliata (la barra rovesciata extra non è necessaria prima del n "\\ n"). – Suragch

+0

Questa dovrebbe essere la risposta accettata. – Mangesh

Problemi correlati