gpt4 book ai didi

java - 将小写的短工作日解析为 Java 8 的时间 DayOfWeek

转载 作者:行者123 更新时间:2023-12-05 09:32:14 26 4
gpt4 key购买 nike

我有一个字符串,例如“周一”或“周二”或“周日”。我想将其解析为 DayOfWeek(如果不成功则为 null)。

我正在使用 Kotlin,但我想 Java 人员也会理解我想做什么:

private fun String.parseToDayOfWeek(pattern: String = "EE") =
try {
DateTimeFormatter.ofPattern(pattern, Locale.US).parse(this, DayOfWeek::from)
} catch (e: Exception){
null
}

这不起作用,我得到的是 null

相反,我必须在解析之前像这样清理字符串:

val capitalized = this.lowercase().replaceFirstChar { it.uppercase() }

这感觉很麻烦。我是否使用了错误的 API 或者这是一个巨大的绊脚石?

最佳答案

您必须使用 DateTimeFormatterBuilder 并设置 parseCaseInsensitive:

private fun String.parseToDayOfWeek(pattern: String = "EE") =
try {
val formatter = DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern(pattern)
.toFormatter(Locale.US);

formatter.parse(this, DayOfWeek::from)
} catch (e: Exception){
null
}

关于java - 将小写的短工作日解析为 Java 8 的时间 DayOfWeek,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68259413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com