Encuentra días entre dos fechas en Android

Hay muchas aplicaciones de Android basadas en viajes y alojamiento que utilizamos para verificar y comprar boletos para cualquier viaje y reserva de hotel. Se necesitan datos como el origen, el destino del viaje, la selección del hotel y las fechas del viaje para reservar las opciones adecuadas. En el caso de la reserva de hotel, el número de días se calcula por la diferencia entre las dos fechas siempre que estén separadas por al menos un día y la fecha de salida sea posterior a la fecha de entrada.

Days Between Two Dates in Android

Entonces, en este artículo, le mostraremos cómo puede encontrar la diferencia entre dos fechas dadas en Android. Siga los pasos a continuación una vez que el IDE esté listo.

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Demostramos la aplicación en Kotlin , así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.

Paso 2: trabajar con el archivo activity_main.xml

Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml . Agregue un TextView que usaremos para mostrar la diferencia entre las dos fechas.

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <TextView
        android:id="@+id/text_view_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:textSize="30sp"/>
  
</RelativeLayout>

Paso 3: trabajar con el archivo MainActivity.kt

Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

package org.geeksforgeeks.difftwodays
  
import android.annotation.SuppressLint
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
import java.text.SimpleDateFormat
  
class MainActivity : AppCompatActivity() {
    @SuppressLint("SimpleDateFormat", "SetTextI18n")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring and initializing 
        // the TextView from the layout file
        val mTextView = findViewById<TextView>(R.id.text_view_1)
  
        // Declaring two date strings
        val mDate1 = "01/01/2022"
        val mDate2 = "01/08/2022"
  
        // Creating a date format
        val mDateFormat = SimpleDateFormat("MM/dd/yyyy")
  
        // Converting the dates 
        // from string to date format
        val mDate11 = mDateFormat.parse(mDate1)
        val mDate22 = mDateFormat.parse(mDate2)
  
        // Finding the absolute difference between
        // the two dates.time (in milli seconds)
        val mDifference = kotlin.math.abs(mDate11.time - mDate22.time)
          
        // Converting milli seconds to dates
        val mDifferenceDates = mDifference / (24 * 60 * 60 * 1000)
          
        // Converting the above integer to string
        val mDayDifference = mDifferenceDates.toString()
  
        // Displaying the result in the TextView
        mTextView.text = "The difference between two dates is $mDayDifference days"
    }
}

Producción:

Puede ver que la diferencia entre las dos fechas se muestra en TextView como se muestra a continuación.

Output

Publicación traducida automáticamente

Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *