[go: up one dir, main page]

Skip to content

JonZhang3/zoro-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简介

zoro-time 是一个简单的日期和时间操作工具

Zoro 是一个带有时区的包含日期和时间的工具类,包含

  1. 获取当前(指定)时间的年、月、日、星期、时、分、秒
  2. 在指定的日期时间字段值(年、月、日、星期、时、分、秒等)上进行加减
  3. 任意更改指定的日期时间字段的值
  4. 获取两个时间的差值(相差几年或相差几个月或相差几天等)
  5. 格式化为文本或解析日期时间文本,同时可创建可缓存的 DateTimeFormatter,避免重复创建相同模式的 DateTimeFormatter

需要指明的是,与 Java8 的日期时间 API 不同,Zoro 是可变对象,在其上的修改,不会创建一个新的对象

可以使用 clonecreate(Zoro) 方法拷贝一个新的 Zoro 实例

API 示例

创建 Zoro

// 本地时区的当前时间
Zoro.now();
// 本地时区的前一天的时间
Zoro.yesterday();

按照指定的模式解析时间文本

Zoro.parse(text, pattern);

使用时间戳创建。[, ZoneId] 表示ZoneId是选填的,默认为本地时区

Zoro.create(timestamp [, ZoneId]);

使用 Java 日期 API 创建

Zoro.create(Date [, ZoneId]);
Zoro.create(Calendar);
Zoro.create(ZonedDateTime);
Zoro.create(LocalDateTime);
Zoro.create(LocalDate);
...

获取一些基本信息

zoro.year();// 获取年份
zoro.month();// 获取月份
zoro.weekOfMonth();// 获取当前日期是当月的第几周
zoro.weekOfYear();// 获取当前日期是当年的第几周
zoro.dayOfWeek();// 获取当前日期是周几
zoro.dayOfMonth();// 当前日期在当月是第几天
zoro.dayOfYear();// 当前日期在当年是第几天
zoro.hour();// 小时
...
zoro.millisecond();// 当前时间的毫秒值
zoro.nano();// 当前时间的纳秒值
zoro.zodiacsSign();// 当前日期的所处星座
zoro.monthDays();// 当前日期的月份总共的天数
zoro.yearDays();// 当前年份总共的天数
zoro.isLeapYear();// 是否是闰年
zoro.timestamp();// UTC 时间戳

zoro.toDate();// 转换为 java.util.Date
zoro.toCalendar();// 转换为 Calendar
zoro.toZonedDateTime();// 转换为 ZonedDateTime
zoro.toLocalDateTime();// 转换为 LocalDateTime
zoro.toLocalDate();
zoro.toLocalTime();

Zoro的基础上进行修改

// 在当前基础上增加或减少指定值
// 负值表示减少,正值表示增加,下同
zoro.addYears(years);
zoro.addMonths(months);
zoro.addWeeks(weeks);
zoro.addDays(days);
...
zoro.addNanos(nanos);

// 变更时区
zoro.withZoneId(ZoneId);

// 将当前日期的指定字段更改为指定值
zoro.withYear(year);
zoro.withMonth(month);
...
zoro.withLastDayOfMonth();// 当月的最后一天
zoro.withFirstInMonth(DayOfWeek);// 当月的第一个周几
zoro.with(TemporalAdjuster);

两个日期的比较

start.diffOfYears(end);// 两个日期相差的年数
start.diffOfMonths(end);// 两个日期相差的月数
...
start.diffOfWeeks();// 两个日期相差的周数

安装

Maven

<dependency>
    <groupId>com.github.jonzhang3</groupId>
    <artifactId>zoro-time</artifactId>
    <version>1.0.0</version>
</dependency>

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages