Sé de formatos de fecha como
"yyyy-mm-dd"
-que muestra la fecha en formato 2011-02-26
"yyyy-MMM-dd"
-que muestra la fecha en formato2011-FEB-26
para ser utilizado en, por ejemplo:
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy/MMM/dd ");
Quiero un formato que me ayude a mostrar el día de la semana como 2011-02-MON
o cualquier cosa. Solo quiero que el día de la semana se muestre en caracteres con el mes y el año. ¿Me puede hablar de un formato como este?
java
date
simpledateformat
date-formatting
Rogerstone
fuente
fuente
dd
como formato?-
notación solo con fechas en formato ISO (es decir, año-mes-día). El guión fue elegido allí ya que no se utiliza para cualquier otro formato de fecha en el momento, para evitar confusiones, y ahora todo el mundo está usando su orden personalizado con el guión ...Respuestas:
Esto debería mostrar 'Tue':
Esto debería mostrar 'martes':
Esto debería mostrar 'T':
Entonces su ejemplo específico sería:
fuente
new SimpleDateFormat("EEEE, dd/MM/yyyy");
si ayuda a alguien en el futuro.EEEE
muestra nombres completos del día de la semana, es decir, 'lunes', 'martes', etc.Sí, 'E' hace el truco
http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
fuente
DateFormat df = new SimpleDateFormat("yyyy-MM-EEEEEEE");
para mostrar largas DayOfWeek.EEE significa día de la semana, por ejemplo, el jueves se muestra como jue.
fuente
U ver"
Consulte la sección sobre Patrones de fecha y hora :
JavaDocs para SimpleDateFormat
fuente
tl; dr
java.time
El enfoque moderno utiliza las clases java.time.
Observe cómo especificamos un
Locale
ejemploLocale.CANADA_FRENCH
para determinar el lenguaje humano utilizado para traducir el nombre del día.ISO 8601
Por cierto, usted puede estar interesado en la norma de la semana ISO 8601 esquema de numeración:
yyyy-Www-d
.La semana 1 tiene el primer jueves del año calendario. La semana comienza un lunes. Un año tiene 52 o 53 semanas. Los últimos / primeros días de un año calendario pueden aterrizar en el año semanal siguiente / anterior.
El dígito único al final es el día de la semana, 1-7 de lunes a domingo.
Agregue la clase de biblioteca ThreeTen-Extra a su proyecto para la
YearWeek
clase.Sobre java.time
El marco java.time está integrado en Java 8 y versiones posteriores. Estas clases suplantar la vieja problemáticos heredados clases de fecha y hora como
java.util.Date
,Calendar
, ySimpleDateFormat
.El proyecto Joda-Time , ahora en modo de mantenimiento , aconseja la migración a las clases java.time .
Para obtener más información, consulte el Tutorial de Oracle . Y busque Stack Overflow para obtener muchos ejemplos y explicaciones. La especificación es JSR 310 .
¿Dónde obtener las clases java.time?
El proyecto ThreeTen-Extra extiende java.time con clases adicionales. Este proyecto es un campo de pruebas para posibles adiciones futuras a java.time. Usted puede encontrar algunas clases útiles aquí, como
Interval
,YearWeek
,YearQuarter
, y más .fuente
Sé que la pregunta es acerca de cómo obtener el día de la semana como una cadena (por ejemplo, el nombre corto), pero para cualquiera que esté buscando el día numérico de la semana (como yo), puede usar la nueva cadena de formato "u", compatible desde Java 7. Por ejemplo:
devuelve el índice del día de la semana de hoy, a saber: 1 = lunes, 2 = martes, ..., 7 = domingo.
fuente