前言
基于安卓平台的日期和时间处理组件JodaTime-ohos(https://github.com/dlew/joda-time-android), 实现鸿蒙化迁移和重构。代码已经开源到(https://gitee.com/isrc_ohos/joda-time_ohos),欢迎各位下载使用并提出宝贵意见!
背景
JodaTime-ohos是一个日期和时间处理组件,可以获取标准时间、当前时间、相对时间、格式化时间等多种形式的时间,并支持对各类时间进行计算和判断。该组件易于使用、可扩展性强、拥有全面的功能集 ,支持多种日历系统,被广泛应用于时间显示类应用。
组件效果展示
(1)显示“标准时间”“一段时间”“格式化时间”“一段时间的相对表示”“一段时间的相对的字符串表示”“相对时间”
- 标准时间:程序执行时刻的时间表示,见图1中的a。
- 格式化时间:将日期/时间格式转换为预先定义的日期/时间格式,见图1中的b。
- 一段时间:在程序执行时刻的基础上,增加一段时间后的起始时间和结果时间显示,见图1中的c。
- 一段时间的相对表示:未来或者在过去的某个时间段表示,见图1中的d。
- 一段时间的相对字符串表示:在程序执行时刻的基础上,增加一段时间的结果时间显示,见图1中的e。
- 相对时间:在程序执行时刻的基础上,增加一段时间后的结果时间和时间段表示,见图1中的f。
图1 显示“标准时间”“一段时间”“格式化时间”“一段时间的相对表示”“一段时间的相对的字符串表示”“相对时间”
(2)显示“当前时间”、“是否为今天”
- 当前时间:程序执行时刻的年月日表示。同时也可以给出在当前时间的基础上增加一段 时间后的结果表示,如图2的a所示。
- 是否为今天:可以判断程序执行的日期是否为今天、是否为昨天、是否为明天,如图2的b所示。
图2 显示“当前时间”、“是否为今天”
(3)显示“一段时间的格式化表示”
“一段时间的格式化表示”:将一段时间用对应的单位表示出来。
图3 显示“一段时间的格式化表示”
Sample解析
1、工程结构
图4 Sample的工程结构
从上图可以看出,Sample的工程结构主要分为三个部分: 图中第①部分的MainAbilitySlice主要负责构建组件应用的主页面布局。主页面上有9个按钮,点击不同的按钮,会跳转到不同的导航界面,每个界面显示不同的时间格式,如图5所示。