android - 如何在 LocalDateTime 中使用语言环境?
问题描述
我正在使用这个扩展功能来获取星期几:
private fun WeatherList.getDayOfWeek() =
LocalDateTime.ofEpochSecond(dt.toLong(), 0, ZoneOffset.UTC).toLocalDate().dayOfWeek
dt - 我在 Unix 课堂上的日期时间
WeatherList 是我的课程:
@Serializable
@Parcelize
data class WeatherList(
val dt: Int,
val main: Main,
val weather: List<Weather>,
val clouds: Clouds,
val wind: Wind,
val visibility: Int,
val pop: Double,
val sys: Sys,
val dt_txt: String,
) : Parcelable
我在想这应该使用语言环境作为一周中的输出日,但它总是英语。那么如何在星期几中使用语言环境?
解决方案
这是一个将 aLocale
和纪元秒作为参数的示例,并返回该特定中常见的星期名称Locale
:
import java.time.LocalDateTime
import java.time.ZoneOffset
import java.time.format.TextStyle;
import java.util.Locale
fun WeatherList.getDayOfWeekName(locale: Locale, epochSecs: Int): String {
return LocalDateTime.ofEpochSecond(epochSecs.toLong(), 0, ZoneOffset.UTC)
.dayOfWeek
.getDisplayName(TextStyle.FULL, locale);
}
您当然可以包含一个固定的并直接引用一些保存纪元秒的变量,但特别是最后一行以给定的语言和格式Locale
为您提供了星期几的名称。Locale
过去Locale.GERMAN
,纪元秒数1631264387
将返回Freitag
(那是德国星期五)。
推荐阅读
- swift - Swift 合并发布两次
- r - 每行,每组的条件检查 R
- kotlin - 基于 intellij gradle 的项目在 bin/dir 中不需要的输出
- c# - 如何将主摄像头移动到新位置?
- python - 尝试将电子邮件写入 Google 表格时发生错误
- linux - unzip 在 Android NDK zip 上返回非零代码 2(测试了多个版本)
- node.js - Azure 函数弄乱了 gzip 后的 POST 数据
- python - 关于构建 ETL 应用程序代码的建议
- python - 我怎么能在python中返回一个只有特定值的json对象
- java - 在控制台中运行 FuzzyJess 文件。可能吗?(杰斯的新功能)