我只需要显示明天的日期,我有此代码,他的工作也没问题。他是今天的当前日期。我想更改此代码以获取明天的日期,但我不知道如何!
private fun date24hours(s: String): String? {
try {
val sdf = SimpleDateFormat("EE, MMM d, yyy")
val netDate = Date(s.toLong() * 1000)
return sdf.format(netDate)
} catch (e: Exception) {
return e.toString()
答案 0 :(得分:2)
可以使用Date
,但是Java 8 LocalDate
的使用要容易得多:
// Set up our formatter with a custom pattern
val formatter = DateTimeFormatter.ofPattern("EE, MMM d, yyy")
// Parse our string with our custom formatter
var parsedDate = LocalDate.parse(s, formatter)
// Simply plus 1 day to make it tomorrows date
parsedDate = parsedDate.plusDays(1)
答案 1 :(得分:0)
private fun date24hours(s: String): String? {
val zone = ZoneId.of("Asia/Dubai")
val dateFormatter = DateTimeFormatter.ofPattern("EE, MMM d, uuuu", Locale.forLanguageTag("ar-OM"))
val tomorrow = LocalDate.now(zone).plusDays(1)
return tomorrow.format(dateFormatter)
}
我以前从未尝试过编写Kotlin代码,因此可能存在一个或多个错误,请多多包涵。
在任何情况下,您使用的日期和时间类-Date
和SimpleDateFormat
-都存在严重的设计问题,现在已经过时了。我建议您改为使用现代Java日期和时间API java.time。
链接: Oracle tutorial: Date Time解释了如何使用java.time
。
答案 2 :(得分:0)
使用LocalDate
和DateTimeFormatter
:
val tomorrow = LocalDate.now().plus(1, ChronoUnit.DAYS)
val formattedTomorrow = tomorrow.format(DateTimeFormatter.ofPattern("EE, MMM d, yyy"))
答案 3 :(得分:0)
我可能会迟到,但这就是我发现的对我有用的东西
const val DATE_PATTERN = "MM/dd/yyyy"
internal fun getDateTomorrow(): String {
val tomorrow = LocalDate.now().plusDays(1)
return tomorrow.toString(DATE_PATTERN)
}