You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio Kotlin项目如何获取整数类型的一年中的第几天

问题原因与解决方案

报错原因

Kotlin标准库无全局getDay()方法,你查阅的文档大概率是其他平台的Kotlin扩展、或是Java已废弃的java.util.Date.getDay()方法(该方法返回值为星期几,并非一年中的第几天,早已不推荐使用),因此Android Studio会提示函数未定义。

适配API 21的可行实现方案

方案1:无需额外配置,全版本兼容

直接使用Android全API级别都支持的Calendar类获取:

// 直接调用即可得到当前是一年中的第几天的Int值
val dayOfYear: Int = Calendar.getInstance().get(Calendar.DAY_OF_YEAR)

方案2:使用现代时间库(推荐)

Java 8引入的java.time库设计更合理、无线程安全问题,可通过开启Android核心库Desugar兼容API 21及以上版本:

  1. 开启Desugar配置:在app模块的build.gradle文件中添加以下配置:
android {
    compileOptions {
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}
  1. 调用代码:
val dayOfYear: Int = LocalDate.now().dayOfYear

报错截图参考

IDE代码报错

内容的提问来源于stack exchange,提问作者AB_Coding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:36:00