una semana programa obtener numero gregorian fecha dias dela actual android date calendar gregorian-calendar

android - programa - Obtenga el día de la semana de GregorianCalendar



obtener el numero de semana de una fecha en java (3)

Tiempo de joda

Utilizo Joda-Time biblioteca Joda-Time para todas las operaciones relacionadas con la fecha / hora. Joda tiene en cuenta su ubicación y obtiene resultados en consecuencia:

import org.joda.time.DateTime; DateTime date = new DateTime(year, month, day, 0, 0, 0);

o

DateTime date = DateTime().now();

Día de la semana (int):

date.getDayOfWeek();

Día de la semana (cadena corta) con las opciones toString() y DateTimeFormat :

date.toString("EE");

Tengo una fecha y necesito saber el día de la semana, así que utilicé un objeto GregorianCalendar pero obtengo algunas fechas incorrectas

GregorianCalendar calendar = new GregorianCalendar(year, month, day); int i = calendar.get(Calendar.DAY_OF_WEEK);

¿Qué estoy haciendo mal?

¡Gracias!

SOLUCIÓN DE EDICIÓN:

mont--; GregorianCalendar calendar = new GregorianCalendar(year, month, day); int i = calendar.get(Calendar.DAY_OF_WEEK); if(i == 2){ dayOfTheWeek = "Mon"; } else if (i==3){ dayOfTheWeek = "Tue"; } else if (i==4){ dayOfTheWeek = "Wed"; } else if (i==5){ dayOfTheWeek = "Thu"; } else if (i==6){ dayOfTheWeek = "Fri"; } else if (i==7){ dayOfTheWeek = "Sat"; } else if (i==1){ dayOfTheWeek = "Sun"; }


tl; dr

myGregCal // `GregorianCalendar` is a legacy class, supplanted by the modern `java.time.ZonedDateTime` class. .toZonedDateTime() // Convert to `ZonedDateTime`. .getDayOfWeek(). // Extract a `DayOfWeek` enum object, one of seven pre-defined objects, one for each day of the week. .getDisplayName( // Automatically localize, generating a `String` to represent the name of the day of the week. TextStyle.SHORT , // Specify how long or abbreviated. Locale.US // Locale determines the human language and cultural norms used in localization. ) // Returns a `String` object.

Lun

LocalDate.now( ZoneId.of( "Africa/Tunis" ) ) // Get current date for people in a certain region, without time-of-day and without time zone. .getDayOfWeek() // Extract a `DayOfWeek` enum object. .getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) // Generate a string representing that day-of-week, localized using the human language and cultural norms of a particular locale.

lundi

java.time

Convierta el objeto antiguo y problemático java.util.GregorianCalendar en un objeto java.time moderno llamando a los nuevos métodos agregados a la clase anterior.

ZonedDateTime zdt = myGregCal.toZonedDateTime();

Obtenga el objeto de enumeración DayOfWeek para ese momento en esa zona horaria.

DayOfWeek dow = zdt.getDayOfWeek();

dow.toString (): MIÉRCOLES

Pase estos objetos DayOfWeek alrededor de su código en lugar de pasar enteros como 1-7 o cadenas como "MON". Al utilizar los objetos de enumeración, hace que su código se autodocumente, proporcione seguridad de tipos y garantice un rango de valores válidos.

Para hacer una presentación al usuario, solicite al objeto DayOfWeek que traduzca el nombre del día de la semana a un idioma humano definido en una Locale .

String output = dow.getDisplayName( TextStyle.FULL_STANDALONE , Locale.CANADA_FRENCH ) ;

mercredi

Acerca de java.time

El marco java.time está integrado en Java 8 y java.time posteriores. Estas clases sustituyen a las antiguas y problemáticas clases de fecha y hora como java.util.Date , java.util.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 busca para muchos ejemplos y explicaciones. La especificación es JSR 310 .

Puede intercambiar objetos java.time directamente con su base de datos. Utilice un controlador JDBC compatible con JDBC 4.2 o posterior. No se necesitan cadenas, no se necesitan clases java.sql.* .

¿Dónde obtener las clases java.time?

  • Java SE 8 , Java SE 9 , Java SE 10 y posteriores
    • Incorporado.
    • Parte de la API de Java estándar con una implementación en paquete.
    • Java 9 agrega algunas características menores y correcciones.
  • Java SE 6 y Java SE 7
    • Gran parte de la funcionalidad de java.time está respaldada a Java 6 y 7 en ThreeTen-Backport .
  • Android
    • Versiones posteriores de las implementaciones de paquetes de Android de las clases java.time .
    • Para Android anterior (<26), el proyecto ThreeTen-Backport adapta ThreeTen-Backport (mencionado anteriormente). Vea Cómo usar ThreeTenABP… .

TimeZone timezone = TimeZone.getDefault(); Calendar calendar = new GregorianCalendar(timezone); calendar.set(year, month, day, hour, minute, second); String monthName=calendar.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.getDefault());//Locale.US); String dayName=calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.getDefault());//Locale.US);