2016-07-20 4 views
1

Я попытался следующий код, чтобы использовать javax.time в Котлин:javax.time в Котлин

import javax.time.calendar.LocalDate 

fun main(args: Array<String>){ 
    println("Today is ${LocalDate.now()}"); 
} 

И получил ошибку компиляции:

C:\kotlin-hello-world>kotlinc hello.kt -include-runtime -d hello.jar 
hello.kt:1:14: error: unresolved reference: time 
import javax.time.calendar.LocalDate 
      ^

И поиск Google показывает в Котлин javax.time не может и люди рекомендуют использовать ThreeTenBP с ThreeTenABP, если у вас есть андроид. В моем примере использования используются классы javax.time на стороне сервера с Kotlin.

Но когда я попытался использовать TreeTenBP, мне нужно импортировать org.threeten.bp.LocalDate вместо javax.time.calendar.LocalDate, поскольку TreeTen * не является реализацией JSR-310, а обратно.

Есть ли способ использовать javax.time в Котлине, кроме тех библиотек, которые обращаются к ним? Если да, то как настроить такую ​​среду или как написать такой код?

+0

Какую версию JDK вы используете? –

+0

java -version -> java version "1.8.0_92" –

ответ

9

javax.time - это мертвая упаковка.

Используйте java.time в Java SE 8. Или org.threeten.bp для заднего плана.

+1

Я собирался предложить JodaTime в качестве альтернативы для java 6 или 7, но если автор этой библиотеки сам предложит использовать backport 'java.time' ... – Groostav

+1

@Groostav Он также является спецификацией для JSR 310 –