Kotlin получить дату только на завтра - PullRequest
0 голосов
/ 19 ноября 2018

Мне нужно отобразить только завтрашнюю дату, у меня есть этот код и он работает нормально без проблем. и он дает текущую дату на сегодня. Я хочу изменить этот код, чтобы получить дату на завтра, но я не знаю как!

  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()

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

java.time

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.time, современный Java-интерфейс даты и времени.

Ссылка: Обучающее руководство по Oracle: Дата и время , объясняющее, как использовать java.time.

0 голосов
/ 20 ноября 2018

С LocalDate и DateTimeFormatter:

val tomorrow = LocalDate.now().plus(1, ChronoUnit.DAYS)
val formattedTomorrow = tomorrow.format(DateTimeFormatter.ofPattern("EE, MMM d, yyy"))
0 голосов
/ 19 ноября 2018

Для этого можно использовать 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...