una semana para obtener numero hora funcion formato fechas fecha java date simpledateformat date-formatting

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());