首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在time4j库中使用PrettyTime?

如何在time4j库中使用PrettyTime?
EN

Stack Overflow用户
提问于 2020-06-22 18:37:02
回答 2查看 117关注 0票数 2

我收到一条以秒为单位的文本(例如7261)。我需要把它转换成这样的格式: 2h,1m,1s

我正在使用time4j库。根据他们的Github page,我正在做这样的事情:

代码语言:javascript
复制
val duration = Duration.of(7261, ClockUnit.SECONDS).with(Duration.STD_CLOCK_PERIOD)
val prettifiedDuration = PrettyTime.of(Locale.ENGLISH).print(duration)

然而,我得到了这个错误:

代码语言:javascript
复制
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)

有什么想法吗?甚至是更好的解决方案?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-22 21:13:03

所以,我意识到安卓项目有一个单独的库:https://github.com/MenoData/Time4A

对于Gradle,添加以下依赖项:

代码语言:javascript
复制
implementation("net.time4j:time4j-android:4.6-2020a")

在Application类中,初始化库:

代码语言:javascript
复制
class MyApplication : DaggerApplication() {

    override fun onCreate() {
        super.onCreate()
        ApplicationStarter.initialize(this, true)
    }
}

然后,您可以按照问题中的描述使用它。

票数 3
EN

Stack Overflow用户

发布于 2020-06-22 19:09:30

您是否遗漏了一些依赖项?

代码语言:javascript
复制
    <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>

在我的测试中,您的代码运行良好。

代码语言:javascript
复制
val duration = Duration.of(7261, ClockUnit.SECONDS).with(Duration.STD_CLOCK_PERIOD)
val prettifiedDuration = PrettyTime.of(Locale.ENGLISH).print(duration)

println(prettifiedDuration)

输出:

代码语言:javascript
复制
2 hours, 1 minute, and 1 second
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62512505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档