semana - obtener el dia de una fecha en java
¿Hay un formato de fecha para mostrar el día de la semana en java? (5)
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 formato 2011-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 otra cosa. Solo quiero que el día de la semana se muestre en caracteres con el mes y el año. ¿Puedes hablarme de un formato como este?
tl; dr
LocalDate.of( 2018 , Month.JANUARY , 23 )
.format( DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) )
java.time
El enfoque moderno usa las clases java.time.
LocalDate ld = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;
Tenga en cuenta cómo especificamos una Locale.CANADA_FRENCH
Locale
como Locale.CANADA_FRENCH
para determinar el lenguaje humano utilizado para traducir el nombre del día.
DateTimeFormatter f = DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) ;
String output = ld.format( f ) ;
ISO 8601
Por cierto, puede interesarle el esquema estándar de numeración de la semana ISO 8601 : yyyy-Www-d
.
2018-W01-2
La semana n. ° 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 siguiente / anterior basado en la semana.
El dígito único en el extremo es el día de la semana, 1-7 para el lunes y el domingo.
Agregue la clase de biblioteca ThreeTen-Extra a su proyecto para la clase YearWeek
.
Acerca de java.time
El marco java.time está integrado en Java 8 y posterior. Estas clases suplantan a las problemáticas antiguas clases legacy fecha y hora como java.util.Date
, Calendar
y SimpleDateFormat
.
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 para obtener muchos ejemplos y explicaciones. La especificación es JSR 310 .
¿Dónde obtener las clases de java.time?
- Java SE 8 , Java SE 9 y posterior
- Incorporado.
- Parte de la API Java estándar con una implementación integrada.
- Java 9 agrega algunas características y correcciones menores.
- Java SE 6 y Java SE 7
- Gran parte de la funcionalidad de java.time se transfiere a Java 6 y 7 en ThreeTen-Backport .
- Android
- Versiones posteriores de las implementaciones del paquete de Android de las clases java.time.
- Para Android anterior, el proyecto ThreeTenABP adapta ThreeTen-Backport (mencionado anteriormente). Consulte Cómo utilizar ThreeTenABP ....
El proyecto ThreeTen-Extra amplía java.time con clases adicionales. Este proyecto es un terreno de prueba para posibles adiciones futuras a java.time. Puede encontrar algunas clases útiles aquí, como Interval
, YearWeek
, YearQuarter
y more .
Esto debería mostrar ''Tue'':
new SimpleDateFormat("EEE").format(new Date());
Esto debería mostrar ''Martes'':
new SimpleDateFormat("EEEE").format(new Date());
Esto debería mostrar ''T'':
new SimpleDateFormat("EEEEE").format(new Date());
Entonces su ejemplo específico sería:
new SimpleDateFormat("yyyy-MM-EEE").format(new Date());
Sí, "E" hace el truco
http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-E");
System.out.println(df.format(date));
U ver"
Consulte la sección sobre Patrones de fecha y hora :
SimpleDateFormat sdf=new SimpleDateFormat("EEE");
EEE significa día de la semana, por ejemplo, el jueves se muestra como Jue.
Para ver el programa completo, puede ver el siguiente enlace
http://java-interview-questions.com/how-to-display-day-of-week-in-java/