Java Data Format - incluindo caracteres adicionais
-
22-09-2019 - |
Pergunta
Existe uma formatação equivalente a php date () em java? Quero dizer, no PHP, eu posso barrar personagens de escapa para tratá-los literalmente. Ou seja Aaaaaa y e a r se tornaria Ano de 2010. Não encontrei nada semelhante em Java, todos os exemplos lidam apenas com os formatos de data interna.
Em particular, eu lido com JCalendar Pickers de data e seus DateFormatString propriedade.
Eu preciso disso, porque no meu local é necessário escrever todos os tipos de coisas adicionais no formato de data, como d. (por dia) Após dias, parte, m. (por anos) depois de anos parte e assim por diante. Na pior das hipóteses, eu poderia usar String Substituir ou Regexp, mas talvez haja uma maneira mais simples? Desde já, obrigado!
Solução
Claro, com o SimpledateFormat Você pode incluir strings literais:
Dentro de cadeias de data e hora, as cartas não cotadas de 'a' a 'z' e de 'a' a 'z' são interpretadas como letras de padrões que representam os componentes de uma string de data ou hora. O texto pode ser citado usando citações únicas (') para evitar a interpretação. "''" representa uma única citação. Todos os outros personagens não são interpretados; Eles simplesmente são copiados na sequência de saída durante a formatação ou correspondidos com a sequência de entrada durante a análise.
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
Outras dicas
Apenas por completude, Java 8's DateTimeFormatter
Também suporta isso:
DateTimeFormatter.ofPattern("yyyy 'year'");
Você pode usar string.format conforme documentado em java.util.formatter:
Calendar c = ...;
String s = String.format("%tY year", c);
// -> s == "2010 year" or whatever the year actually is
java.text.simpledEformat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
String formattedDate = formatter.format(date);
Você terá mais informações aqui Texto do link