代码拉取完成,页面将自动刷新
本库是从实际项目中提取的一个强大优雅的轻量级时间库。
本库特点:
- 简单优雅,时间api和基础加减语法一致。
- 轻量,0依赖,只要求最基础的jdk8 + kotlin1.2,其中kotlin也可以不依赖而只使用java开发,但单纯使用java开发则无法使用本库带来的优雅语法的特性了。
- 项目默认使用maven打包,由于0依赖特性,甚至可以直接将时间库源文件复制到自己的项目中使用。
- 支持 java.util.Date 系列日期和时间、JDK8的新版LocalDateTime系列日期和时间,并且支持自己拓展其他日期、时间类型。
- Dates对象:获取昨日、今日、明日零点的日期、时间戳。
- DateTimes对象:对java.util.Date系列日期、时间进行格式化以及字符串解析。
- 计算器拓展支持:java.util.Date、java.sql.Date、Timestamp、Time、LocalDateTime、LocalDate、LocalTime,其中,java.util.Date、java.sql.Date、Timestamp由于其可继承特性,它们的对应计算器也继承自它们,因此这几个类的时间计算支持连续加减。
- 拓展属性:cDay、cMonth、cDay、cHour、cMinute、cSecond、cMilli、cNano 等方法,用于获取支持计算年、月、日、时、分、秒、毫秒、纳秒的计算器对象。
- 拓展方法:withDate、withTime 等方法,用于指定一个日期、时间对象的日期或时间部分。
- 拓展伪构造函数:Timestamp、Date、Time已快速出构造一个当前日期、时间的java.util.Date下的子类对象。
import org.junit.Test
import yu.com.time.*
import java.time.temporal.ChronoUnit
import java.util.*
/**
* 使用例子
* created zpf on 2018/10/24 0024
*/
class Example {
@Test
fun example() {
println("1.当前时间:java旧版 vs 时间库")
println(Date())
println(Timestamp())
println("2.时间增减(获取去年):java旧版 vs 时间库")
println(java.sql.Timestamp.valueOf(Date().toLocalDateTime().minusYears(1)))
println(Timestamp().cYear - 1)
println("3.时间间隔天数(现在和去年之间):java旧版 vs 时间库")
val now = Timestamp() //现在
val lastYear = Timestamp().cYear - 1 //去年
println(lastYear.toLocalDateTime().until(now.toLocalDateTime(), ChronoUnit.DAYS))
println(now.cDay - lastYear)
println("4.指定日期部分:今年2月1日12点")
println(now.withDate(null, 2, 1).withTime(12))
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。