Java formato della data - compresi i caratteri aggiuntivi
-
22-09-2019 - |
Domanda
C'è un equivalente ad oggi php) formattazione (stile in Java? Voglio dire, in php posso backslash-caratteri di escape per averli trattati letteralmente. Cioè aaaa \ y \ e \ a \ r sarebbe diventato 2010 anni . Non ho trovato nulla di simile in Java, tutti gli esempi trattare solo con i formati di data incorporati.
In particolare, mi occupo di JCalendar data raccoglitori e il loro dateFormatString proprietà.
ne ho bisogno perché nella mia locale è necessario scrivere tutti i tipi di materiale aggiuntivo nel formato della data, come d. (Per giorno) dopo giorni parte, m. (Per anni), dopo anni parte e così via. Al caso peggiore potrei usare stringa sostituire o espressione regolare, ma forse c'è un modo più semplice? Grazie in anticipo!
Soluzione
Certo, con la SimpleDateFormat voi può includere stringhe letterali:
Da modello di data e ora stringhe, lettere quotati da 'A' a 'Z' e da 'un' a 'z' sono interpretati come lettere modello che rappresentano i componenti di una stringa di data e ora. Il testo può essere citato con virgolette singole ( ') per evitare l'interpretazione. " ''" Rappresenta un apostrofo. Tutti gli altri caratteri non sono interpretati; sono semplicemente copiati nella stringa di output durante la formattazione o confrontati con la stringa di input durante l'analisi.
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
Altri suggerimenti
Solo per completezza, DateTimeFormatter
di Java 8 supporta anche questo:
DateTimeFormatter.ofPattern("yyyy 'year'");
È possibile utilizzare String.Format come documentato in java.util.Formatter :
Calendar c = ...;
String s = String.format("%tY year", c);
// -> s == "2010 year" or whatever the year actually is
java.text.SimpleDateFormat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
String formattedDate = formatter.format(date);
Si otterrà maggiori informazioni qui link testuale