Android studio 既然“getDay()”已被弃用,如何从日期对象中提取日期?

Android studio 既然“getDay()”已被弃用,如何从日期对象中提取日期?,android-studio,date,Android Studio,Date,当用户打开我的应用程序时,会记录日期。然后将其与上次记录的日期进行比较。我想知道两天之间的日子是否改变了。我不想简单地看24小时是否过去了。用户应该能够在晚上11:59打开应用程序,然后在2分钟后再次打开,代码应该会告诉用户日期已经改变。谢谢你的帮助 我找到了一个解决问题的解决方案,虽然从技术上讲,它并不能直接让day脱离日常对象 基本上,创建一个Calendar对象并使用my Date对象作为参数调用它的setTime方法,然后使用.getCalendar.DAY\u OF_YEAR从每个Ca

当用户打开我的应用程序时,会记录日期。然后将其与上次记录的日期进行比较。我想知道两天之间的日子是否改变了。我不想简单地看24小时是否过去了。用户应该能够在晚上11:59打开应用程序,然后在2分钟后再次打开,代码应该会告诉用户日期已经改变。谢谢你的帮助

我找到了一个解决问题的解决方案,虽然从技术上讲,它并不能直接让day脱离日常对象


基本上,创建一个Calendar对象并使用my Date对象作为参数调用它的setTime方法,然后使用.getCalendar.DAY\u OF_YEAR从每个Calendar对象中获取日期。

你是对的,如果你想获取实际日期,你只需要像这样使用Calendar.getInstance:

Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DAY_OF_MONTH); 

此外,您可能需要时区。 如果要添加特定时区,可以将getDefault替换为getTimeZone,然后 放入getTimeZone函数参数中

    //im using the device time zone
    val deviceTimeZone = TimeZone.getDefault()

    val calendarInst = Calendar.getInstance(deviceTimeZone)
    val currentDay = calendarInst.get(Calendar.DAY_OF_MONTH)
    val currentMonth = calendarInst.get(Calendar.MONTH)+1
    val currentYear = calendarInst.get(Calendar.YEAR)