Conheço formatos de data como
"yyyy-mm-dd"
-que exibe data em formato 2011-02-26
"yyyy-MMM-dd"
-que exibe data em formato2011-FEB-26
para ser usado, por exemplo:
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy/MMM/dd ");
Quero um formato que me ajude a exibir o dia da semana como 2011-02-MON
algo assim. Eu só quero que o dia da semana seja exibido em caracteres com o mês e o ano. Você pode me falar de um formato como este?
java
date
simpledateformat
date-formatting
Rogerstone
fonte
fonte
dd
como formato?-
notação com datas no formato ISO (ou seja, ano-mês-dia). A colisão foi eleito há uma vez que não foi usado para quaisquer outros formatos de data, no momento, a confusão evitar, e agora todo mundo está usando sua ordenação personalizada com o traço ...Respostas:
Isso deve exibir 'ter':
Isso deve exibir 'Terça-feira':
Isso deve exibir 'T':
Portanto, seu exemplo específico seria:
fonte
new SimpleDateFormat("EEEE, dd/MM/yyyy");
se isso ajudar alguém no futuro.EEEE
Exibe os nomes inteiros de dia da semana - ou seja, 'Monday', 'terça-feira' etc.Sim - 'E' faz o truque
http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
fonte
DateFormat df = new SimpleDateFormat("yyyy-MM-EEEEEEE");
para exibir o DayOfWeek longo.EEE significa dia da semana, por exemplo, quinta-feira é exibido como qui.
fonte
Você vê"
Consulte a seção Padrões de data e hora :
JavaDocs para SimpleDateFormat
fonte
tl; dr
java.time
A abordagem moderna usa as classes java.time.
Observe como especificamos um
Locale
tal comoLocale.CANADA_FRENCH
para determinar a linguagem humana usada para traduzir o nome do dia.ISO 8601
By the way, você pode estar interessado no padrão semana ISO 8601 esquema de numeração:
yyyy-Www-d
.A semana 1 tem a primeira quinta-feira do ano civil. A semana começa na segunda-feira. Um ano tem 52 ou 53 semanas. Os últimos / primeiros dias de um ano civil podem chegar ao ano seguinte / anterior, com base na semana.
O dígito único no final é dia da semana, 1 a 7 para segunda-feira a domingo.
Adicione a classe da biblioteca ThreeTen-Extra ao seu projeto para a
YearWeek
classe.Sobre java.time
A estrutura java.time é integrada ao Java 8 e posterior. Essas classes suplantar os velhos problemáticos legados aulas de data e hora, como
java.util.Date
,Calendar
, eSimpleDateFormat
.O projeto Joda-Time , agora em modo de manutenção , aconselha a migração para as classes java.time .
Para saber mais, consulte o Tutorial do Oracle . E procure Stack Overflow para muitos exemplos e explicações. A especificação é JSR 310 .
Onde obter as classes java.time?
O projeto ThreeTen-Extra estende java.time com classes adicionais. Este projeto é um campo de prova para possíveis adições futuras ao java.time. Você pode encontrar algumas classes úteis aqui, como
Interval
,YearWeek
,YearQuarter
, e mais .fonte
Eu sei que a pergunta é sobre obter o dia da semana como sequência (por exemplo, o nome abreviado), mas para quem procura o dia numérico da semana (como eu era), você pode usar a nova sequência de formato "u", suportada desde o Java 7. Por exemplo:
retorna o índice do dia da semana de hoje, a saber: 1 = segunda-feira, 2 = terça-feira, ..., 7 = domingo.
fonte