我收到一条以秒为单位的文本(例如7261)。我需要把它转换成这样的格式: 2h,1m,1s
我正在使用time4j库。根据他们的Github page,我正在做这样的事情:
val duration = Duration.of(7261, ClockUnit.SECONDS).with(Duration.STD_CLOCK_PERIOD)
val prettifiedDuration = PrettyTime.of(Locale.ENGLISH).print(duration)然而,我得到了这个错误:
06-22 11:50:52.133 12161 12244 E AndroidRuntime: java.lang.ExceptionInInitializerError
06-22 11:50:52.133 12161 12244 E AndroidRuntime: at net.time4j.base.ResourceLoader.getInstance(ResourceLoader.java:167)
06-22 11:50:52.133 12161 12244 E AndroidRuntime: at net.time4j.PrettyTime.<clinit>(PrettyTime.java:95)
06-22 11:50:52.133 12161 12244 E AndroidRuntime: at net.time4j.PrettyTime.of(PrettyTime.java:198)有什么想法吗?甚至是更好的解决方案?
发布于 2020-06-22 21:13:03
所以,我意识到安卓项目有一个单独的库:https://github.com/MenoData/Time4A
对于Gradle,添加以下依赖项:
implementation("net.time4j:time4j-android:4.6-2020a")在Application类中,初始化库:
class MyApplication : DaggerApplication() {
override fun onCreate() {
super.onCreate()
ApplicationStarter.initialize(this, true)
}
}然后,您可以按照问题中的描述使用它。
发布于 2020-06-22 19:09:30
您是否遗漏了一些依赖项?
<dependency>
<groupId>net.time4j</groupId>
<artifactId>time4j-base</artifactId>
<version>5.6</version>
</dependency>
<dependency>
<groupId>net.time4j</groupId>
<artifactId>time4j-sqlxml</artifactId>
<version>5.6</version>
</dependency>
<dependency>
<groupId>net.time4j</groupId>
<artifactId>time4j-tzdata</artifactId>
<version>5.0-2020a</version>
</dependency>在我的测试中,您的代码运行良好。
val duration = Duration.of(7261, ClockUnit.SECONDS).with(Duration.STD_CLOCK_PERIOD)
val prettifiedDuration = PrettyTime.of(Locale.ENGLISH).print(duration)
println(prettifiedDuration)输出:
2 hours, 1 minute, and 1 secondhttps://stackoverflow.com/questions/62512505
复制相似问题