Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo restar x cantidad de días de la fecha de hoy

Necesito contar 90 días, 120 días y 160 días para algunos artículos. ¿Cómo puedo codificar esto? Sigo encontrando código java, pero que trae errores cuando estoy desarrollando para android.

Necesito tomar la fecha de hoy y restar la cantidad de x de días y hacer que el resultado se muestre en la pantalla nada más. Gracias

4 Solutions collect form web for “Cómo restar x cantidad de días de la fecha de hoy”

Debe utilizar la clase Calendar :

 //Calendar set to the current date Calendar calendar=Calendar.getInstance(); //rollback 90 days calendar.add(Calendar.DAY_OF_YEAR, -90); //now the date is 90 days back Log.i("MyApp","90 days ago:"+calendar.getTime().toString()); 

Utilice el objeto Calendario …

 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -90); //etc 

Debe poder utilizar la clase Calendar para lograr lo que desea: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html .

A continuación, puede llamar a su objeto de calendario con la fecha actual .add(Calendar.DAY_OF_YEAR, -90); y así.

Tl dr

 LocalDate.now( ZoneId.of( "America/Montreal" ) ) .minusDays( 90 ) 

Java.time

Otras respuestas aquí están anticuadas. La forma moderna es con clases java.time.

LocalDate

La clase LocalDate representa un valor de fecha única sin hora del día y sin zona horaria.

Una zona horaria es crucial para determinar una fecha. Para cualquier momento dado, la fecha varía alrededor del globo por la zona. Por ejemplo, unos pocos minutos después de la medianoche en París Francia es un nuevo día, mientras que todavía "ayer" en Montreal Quebec .

 ZoneId z = ZoneId.of( "America/Montreal" ) ; LocalDate today = LocalDate.now( z ) ; 

A continuación, puede sumar o restar días.

 LocalDate ago090 = today.minusDays( 90 ) ; LocalDate ago120 = today.minusDays( 120 ) ; LocalDate ago160 = today.minusDays( 160 ) ; 

Para generar una cadena en formato ISO 8601 estándar de AAAA-MM-DD, llame a toString . Para otros formatos, busque Desbordamiento de pila para la clase DateTimeFormatter para ver muchos ejemplos y discusiones.

 String output = ago120.toString() ; 

Acerca de java.time

El framework java.time está integrado en Java 8 y posterior. Estas clases suplantan las viejas clases de fecha-hora heredadas , como java.util.Date , Calendar y SimpleDateFormat .

El proyecto Joda-Time , ahora en modo de mantenimiento , recomienda la migración a java.time.

Para obtener más información, consulte el Tutorial de Oracle . Y busca Stack Overflow para muchos ejemplos y explicaciones. La especificación es JSR 310 .

Dónde obtener las clases java.time?

  • Java SE 8 y 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 SE 7
    • Gran parte de la funcionalidad de java.time se retroporta a Java 6 & 7 en ThreeTen-Backport .
  • Androide
    • El proyecto ThreeTenABP adapta específicamente a ThreeTen-Backport (mencionado anteriormente) para Android.
    • Consulte Cómo utilizar ….

El proyecto ThreeTen-Extra extiende java.time con clases adicionales. Este proyecto es un terreno probatorio para posibles adiciones futuras a java.time. Puede encontrar algunas clases útiles como Interval , YearWeek , YearQuarter y más .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.