# common-tools **Repository Path**: MineLX/common-tools ## Basic Information - **Project Name**: common-tools - **Description**: common pieces of ecosystem - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-09-26 - **Last Updated**: 2023-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # common-tools ## 介绍 力求用最小的依赖, 来实现短小精悍的瑞士军刀 ## 依赖 ```xml io.gitee.minelx common-tools 1.2.1 ``` ## 使用说明 ### 1. date 日期组件 #### 第一个例子: 查询 2000年 到 3000年 中间有多少个闰年 ```java io.gitee.minelx.commontools.date.example.FindLeapYearsBetweenARange ``` > 全文 ```java long yyyyMM = YEAR.at(2000).to(YEAR.at(3000)) .clocks(YEAR, 1) .map(each -> each.elapse(_locate(MONTH, 3).andThen(_offset(-1, DAY)))) .filter(which -> which.values().day() > 28) .map(each -> each.format("yyyy")) .count(); System.out.println("yyyyMM = " + yyyyMM); ``` > ClockUnit.at(int... values) 返回了一个精确到某个 时间单位(ClockUnit) 的 时间点(Clock) ```java YEAR.at(2000) // 我得到了一个 2000年 的时间点 ``` > Clock.to(Clock destination) 需要提供时间终点以构建一个 时间段(Duration) ```java YEAR.at(2000).to(YEAR.at(3000)) // 我获得了2000年到3000年的时间段 ``` > Duration.clocks(ClockUnit unit, int amount) 在这个时间段里推算出给定 时间间隔(offset) 的所有时间点 ```java YEAR.at(2000).to(YEAR.at(3000)) .clocks(YEAR, 1) // 我获得了2000年到3000年之间的每一年 (前闭后开) ``` > Clock.elapse(Consumer elapsing) 使用提供的 偏移器 来制造并返回偏移后的时间点 ```java each.elapse(_locate(MONTH, 3).andThen(_offset(-1, DAY))) // 我获得了 2月底(最后一天) 的时间点 ``` > Clock.values() 获得该时间点的数值映射 ```java which.values().day() > 28 // 该时间点以天数判断是否是闰年 ``` > Clock.format(String formatText) 使用字符串格式化该时间点 ```java each.format("yyyy") // yyyy ``` #### 第二个例子: 获得现在的时间 ```java io.gitee.minelx.commontools.date.example.WhatsInClocks ``` > 全文 ```java String now = Clocks.now().format("yyyy/MM/dd hh:mm:ss"); System.out.println("now = " + now); String millis = Clocks.millis(1640966400000L).format("yyyy/MM/dd hh:mm:ss"); System.out.println("millis = " + millis); String unixTime = Clocks.unixTime(1640966400).format("yyyy/MM/dd hh:mm:ss"); System.out.println("unixTime = " + unixTime); ``` > Clocks.now() 返回当前时间点 ```java Clocks.now() ``` > Clocks.millis(long timeMillis) 使用java时间戳(毫秒级)来构建时间点 ```java Clocks.millis(1640966400000L) ``` > Clocks.unixTime(int timestamp) 使用unix timestamp来构建时间点 ```java Clocks.unixTime(1640966400) ```