Kotlin生成时间轴数据
本文最后更新于 429 天前,其中的信息可能已经有所发展或是发生改变。

站长在之前的工作中遇到了需要自己生成时间轴数据的场景,类似于下面这种:

{2020-08=0, 
2020-09=0, 
2020-10=0, 
2020-11=0, 
2020-12=0, 
2021-01=0}

以往可能都是根据业务来进行一个一个的编写,这样多了之后就会造成大量类似的代码,所以站长做了一步抽象,做成一个通用的工具出来。

首先引入jar包,由于站长还没有发布到maven central上,所以这里暂时只能自己打包成jar,后面站长发布了就可以直接引用了。

站长的项目地址点击这里

# 创建数据
List<Pojo> dataList = new ArrayList() {{
    add(new Pojo() {{
        setDate(new Date());
        setValue("1");
    }});
    add(new Pojo() {{
        setDate(Date.from(Instant.now().minusSeconds(3600 * 24 * 1)));
        setValue("2");
    }});
    add(new Pojo() {{
        setDate(Date.from(Instant.now().minusSeconds(3600 * 24 * 1)));
        setValue("3");
    }});
    add(new Pojo() {{
        setDate(Date.from(Instant.now().minusSeconds(3600 * 24 * 2)));
        setValue("3");
    }});
}};

# 通过构造器构造一个时间轴数据出来并存放在result中
Map<String, BigDecimal> result = new TimeLineData.Builder<Pojo>()
    .dataList(dataList)
    .k(it -> DateKit.getStr(LocalDateTime.ofInstant(it.getDate().toInstant(), ZoneId.systemDefault()), DateType.MONTH))
    .v(it -> BigDecimal.valueOf(Double.parseDouble(it.getValue())))
    .start(LocalDateTime.of(2020, 8, 1, 1, 1))
    .end(LocalDateTime.of(2021, 8, 1, 1, 1))
    .build()
    .getData();

以上就是kotlin中生成时间轴数据的方式。

【版权声明】
本文首发于云博客,欢迎转载,但是必须保留本文的署名云博客(包含链接)。
如您想成为本站的作者或者编辑,请给我留言:yun@yka.moe
本文永久链接:Kotlin生成时间轴数据
本文作者:yun
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇