public final class CalendarUtil
extends java.lang.Object
| 构造器和说明 |
|---|
CalendarUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static int |
compareTo(int minYear,
int minYearMonth,
int minYearDay,
int maxYear,
int maxYearMonth,
int maxYearDay)
比较日期大小
|
static int |
differ(Calendar calendar1,
Calendar calendar2)
运算 calendar1 - calendar2
test Pass
|
static Calendar |
getFirstCalendarStartWithMinCalendar(int minYear,
int minYearMonth,
int minYearDay,
int week,
int weekStart)
根据星期数和最小日期推算出该星期的第一天,
为了防止夏令时,导致的时间提前和延后1-2小时,导致日期出现误差1天,因此吧hourOfDay = 12
//测试通过 Test pass
|
static int |
getMonthDaysCount(int year,
int month)
获取某月的天数
|
static int |
getMonthViewHeight(int year,
int month,
int itemHeight,
int weekStartWith)
获取月视图的确切高度
Test pass
|
static int |
getMonthViewHeight(int year,
int month,
int itemHeight,
int weekStartWith,
int mode)
获取月视图的确切高度
Test pass
|
static int |
getMonthViewLineCount(int year,
int month,
int weekStartWith,
int mode) |
static Calendar |
getNextCalendar(Calendar calendar) |
static Calendar |
getPreCalendar(Calendar calendar)
获取上一个日子
|
static int |
getWeekCountBetweenBothCalendar(int minYear,
int minYearMonth,
int minYearDay,
int maxYear,
int maxYearMonth,
int maxYearDay,
int weekStart)
获取两个日期之间一共有多少周,
注意周起始周一、周日、周六
测试通过 test pass
|
static int |
getWeekFromCalendarStartWithMinCalendar(Calendar calendar,
int minYear,
int minYearMonth,
int minYearDay,
int weekStart)
根据日期获取距离最小日期在第几周
用来设置 WeekView currentItem
测试通过 test pass
|
static int |
getWeekFromDayInMonth(Calendar calendar,
int weekStart)
获取某天在该月的第几周,换言之就是获取这一天在该月视图的第几行,第几周,根据周起始动态获取
Test pass,单元测试通过
|
static int |
getWeekViewEndDiff(int year,
int month,
int day,
int weekStart)
单元测试通过
从选定的日期,获取周视图结束偏移量,用来生成周视图布局
为了兼容DST,DST时区可能出现时间偏移1-2小时,从而导致凌晨时候实际获得的日期往前或者往后推移了一天,
日历没有时和分的概念,因此把日期的时间强制在12:00,可以避免DST兼容问题
|
static boolean |
isLeapYear(int year)
是否是闰年
|
static boolean |
isWeekend(Calendar calendar)
判断一个日期是否是周末,即周六日
|
public static boolean isWeekend(Calendar calendar)
calendar - calendarpublic static int getMonthDaysCount(int year,
int month)
year - 年month - 月public static boolean isLeapYear(int year)
year - yearpublic static int getMonthViewLineCount(int year,
int month,
int weekStartWith,
int mode)
public static int getMonthViewHeight(int year,
int month,
int itemHeight,
int weekStartWith)
year - 年month - 月itemHeight - 每项的高度weekStartWith - 周起始public static int getMonthViewHeight(int year,
int month,
int itemHeight,
int weekStartWith,
int mode)
year - 年month - 月itemHeight - 每项的高度weekStartWith - weekStartWithmode - modepublic static int getWeekFromDayInMonth(Calendar calendar, int weekStart)
calendar - calendarweekStart - 其实星期是哪一天?public static Calendar getPreCalendar(Calendar calendar)
calendar - calendarpublic static int getWeekCountBetweenBothCalendar(int minYear,
int minYearMonth,
int minYearDay,
int maxYear,
int maxYearMonth,
int maxYearDay,
int weekStart)
minYear - minYear 最小年份minYearMonth - maxYear 最小年份月份minYearDay - 最小年份天maxYear - maxYear 最大年份maxYearMonth - maxYear 最大年份月份maxYearDay - 最大年份天weekStart - 周起始public static int getWeekFromCalendarStartWithMinCalendar(Calendar calendar, int minYear, int minYearMonth, int minYearDay, int weekStart)
calendar - calendarminYear - minYear 最小年份minYearMonth - maxYear 最小年份月份minYearDay - 最小年份天weekStart - 周起始public static Calendar getFirstCalendarStartWithMinCalendar(int minYear, int minYearMonth, int minYearDay, int week, int weekStart)
minYear - 最小年份如2017minYearMonth - maxYear 最小年份月份,like : 2017-07minYearDay - 最小年份天week - 从最小年份minYear月minYearMonth 日1 开始的第几周 week > 0weekStart - 周起始public static int differ(Calendar calendar1, Calendar calendar2)
calendar1 - calendar1calendar2 - calendar2public static int compareTo(int minYear,
int minYearMonth,
int minYearDay,
int maxYear,
int maxYearMonth,
int maxYearDay)
minYear - minYearminYearMonth - minYearMonthminYearDay - minYearDaymaxYear - maxYearmaxYearMonth - maxYearMonthmaxYearDay - maxYearDaypublic static int getWeekViewEndDiff(int year,
int month,
int day,
int weekStart)
year - yearmonth - monthday - dayweekStart - 周起始,1,2,7 日 一 六