📌  相关文章
📜  在 Android 中查找两个日期之间的天数

📅  最后修改于: 2022-05-13 01:55:44.585000             🧑  作者: Mango

在 Android 中查找两个日期之间的天数

我们使用许多基于旅行和住宿的 Android 应用程序来检查和购买任何旅行和酒店预订的门票。需要输入诸如出发地、旅行目的地、酒店选择和旅行日期等信息来预订合适的选项。在酒店预订的情况下,如果两个日期相隔至少一天并且退房日期在入住日期之后,则通过找出两个日期之间的差异来计算天数。

Android中两个日期之间的天数

因此,在本文中,我们将向您展示如何在 Android 中找到两个给定日期之间的差异。 IDE 准备就绪后,请按照以下步骤操作。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在Kotlin中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。添加一个 TextView,我们将使用它来显示两个日期之间的差异。

XML


  
    
  


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(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"
    }
}


第 3 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

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(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"
    }
}

输出:

您可以看到两个日期之间的差异显示在 TextView 中,如下所示。

输出