parse - Formato de fecha Java-incluyendo caracteres adicionales
simpledateformat java 8 (4)
¿Hay un equivalente al formato de fecha () de php en Java? Quiero decir, en php puedo hacer una barra inversa para escapar de los personajes y tratarlos literalmente. Es decir, yyyy / y / e / a / r se convertiría en 2010 año . No encontré nada similar en Java, todos los ejemplos tratan solo con formatos de fecha incorporados.
En particular, trato con los JCalendar fecha JCalendar y su propiedad dateFormatString .
Lo necesito porque en mi configuración regional es necesario escribir todo tipo de cosas adicionales en formato de fecha, como d. (por día) después de días parte, m. (durante años) después de años parte y así sucesivamente. En el peor de los casos, podría usar string replace o regexp, pero ¿quizás hay una forma más sencilla? ¡Gracias por adelantado!
Puede usar String.format como se documenta en java.util.Formatter :
Calendar c = ...;
String s = String.format("%tY year", c);
// -> s == "2010 year" or whatever the year actually is
Sólo para completar, el DateTimeFormatter
Java 8 también admite esto:
DateTimeFormatter.ofPattern("yyyy ''year''");
java.text.SimpleDateFormat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
String formattedDate = formatter.format(date);
Obtendrá más información aquí enlace texto
Claro, con SimpleDateFormat puedes incluir cadenas literales:
Dentro de las cadenas de patrón de fecha y hora, las letras sin comillas de ''A'' a ''Z'' y de ''a'' a ''z'' se interpretan como letras de patrón que representan los componentes de una cadena de fecha o hora. El texto se puede citar con comillas simples ('') para evitar la interpretación. "''''" representa una sola cita. Todos los demás personajes no son interpretados; simplemente se copian en la cadena de salida durante el formateo o coinciden con la cadena de entrada durante el análisis.
"hh ''o''''clock'' a, zzzz" 12 o''clock PM, Pacific Daylight Time