From c196e58ec859e988b35102d882eb2d4c1ff22a0b Mon Sep 17 00:00:00 2001 From: 6tail <6tail@6tail.cn> Date: Sun, 24 Jun 2018 17:48:32 +0800 Subject: [PATCH] add static fromXX methods --- src/main/java/com/nlf/calendar/Lunar.java | 30 +++++++++++++--- src/main/java/com/nlf/calendar/Solar.java | 32 +++++++++++++++++ .../java/com/nlf/calendar/SolarHalfYear.java | 31 ++++++++++++++++ .../java/com/nlf/calendar/SolarMonth.java | 31 ++++++++++++++++ .../java/com/nlf/calendar/SolarSeason.java | 31 ++++++++++++++++ src/main/java/com/nlf/calendar/SolarWeek.java | 35 +++++++++++++++++++ src/main/java/com/nlf/calendar/SolarYear.java | 32 ++++++++++++++++- 7 files changed, 217 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/nlf/calendar/Lunar.java b/src/main/java/com/nlf/calendar/Lunar.java index 3eef594..2e86e71 100644 --- a/src/main/java/com/nlf/calendar/Lunar.java +++ b/src/main/java/com/nlf/calendar/Lunar.java @@ -32,10 +32,10 @@ public class Lunar{ /** * 通过农历年月日初始化 - * - * @param year 年 - * @param month 月 - * @param day 日 + * + * @param year 年(农历) + * @param month 月(农历),1到12 + * @param day 日(农历),1到31 */ public Lunar(int year,int month,int day){ this.year = year; @@ -92,6 +92,28 @@ public class Lunar{ day = lunarD; } + /** + * 通过指定日期获取农历 + * + * @param date 日期 + * @return 农历 + */ + public static Lunar fromDate(Date date){ + return new Lunar(date); + } + + /** + * 通过指定农历年月日获取农历 + * + * @param year 年(农历) + * @param month 月(农历),1到12 + * @param day 日(农历),1到31 + * @return 农历 + */ + public static Lunar fromYmd(int year,int month,int day){ + return new Lunar(year,month,day); + } + /** * 获取干 * diff --git a/src/main/java/com/nlf/calendar/Solar.java b/src/main/java/com/nlf/calendar/Solar.java index 005b5cf..0a5fd8c 100644 --- a/src/main/java/com/nlf/calendar/Solar.java +++ b/src/main/java/com/nlf/calendar/Solar.java @@ -69,6 +69,38 @@ public class Solar{ day = calendar.get(Calendar.DATE); } + /** + * 通过指定日期获取阳历 + * + * @param date 日期 + * @return 阳历 + */ + public static Solar fromDate(Date date){ + return new Solar(date); + } + + /** + * 通过指定日历获取阳历 + * + * @param calendar 日历 + * @return 阳历 + */ + public static Solar fromCalendar(Calendar calendar){ + return new Solar(calendar); + } + + /** + * 通过指定年月日获取阳历 + * + * @param year 年 + * @param month 月,1到12 + * @param day 日,1到31 + * @return 阳历 + */ + public static Solar fromYmd(int year,int month,int day){ + return new Solar(year,month,day); + } + /** * 是否闰年 * diff --git a/src/main/java/com/nlf/calendar/SolarHalfYear.java b/src/main/java/com/nlf/calendar/SolarHalfYear.java index 18811e0..43b3259 100644 --- a/src/main/java/com/nlf/calendar/SolarHalfYear.java +++ b/src/main/java/com/nlf/calendar/SolarHalfYear.java @@ -50,6 +50,37 @@ public class SolarHalfYear { this.month = month; } + /** + * 通过指定日期获取阳历半年 + * + * @param date 日期 + * @return 阳历半年 + */ + public static SolarHalfYear fromDate(Date date){ + return new SolarHalfYear(date); + } + + /** + * 通过指定日历获取阳历半年 + * + * @param calendar 日历 + * @return 阳历半年 + */ + public static SolarHalfYear fromCalendar(Calendar calendar){ + return new SolarHalfYear(calendar); + } + + /** + * 通过指定年月获取阳历半年 + * + * @param year 年 + * @param month 月 + * @return 阳历半年 + */ + public static SolarHalfYear fromYm(int year,int month){ + return new SolarHalfYear(year,month); + } + /** * 获取年 * diff --git a/src/main/java/com/nlf/calendar/SolarMonth.java b/src/main/java/com/nlf/calendar/SolarMonth.java index e38673b..174eb14 100644 --- a/src/main/java/com/nlf/calendar/SolarMonth.java +++ b/src/main/java/com/nlf/calendar/SolarMonth.java @@ -54,6 +54,37 @@ public class SolarMonth{ this.month = month; } + /** + * 通过指定日期获取阳历月 + * + * @param date 日期 + * @return 阳历月 + */ + public static SolarMonth fromDate(Date date){ + return new SolarMonth(date); + } + + /** + * 通过指定日历获取阳历月 + * + * @param calendar 日历 + * @return 阳历月 + */ + public static SolarMonth fromCalendar(Calendar calendar){ + return new SolarMonth(calendar); + } + + /** + * 通过指定年月获取阳历月 + * + * @param year 年 + * @param month 月 + * @return 阳历月 + */ + public static SolarMonth fromYm(int year,int month){ + return new SolarMonth(year,month); + } + /** * 获取年 * diff --git a/src/main/java/com/nlf/calendar/SolarSeason.java b/src/main/java/com/nlf/calendar/SolarSeason.java index 6f83822..fe18d83 100644 --- a/src/main/java/com/nlf/calendar/SolarSeason.java +++ b/src/main/java/com/nlf/calendar/SolarSeason.java @@ -50,6 +50,37 @@ public class SolarSeason { this.month = month; } + /** + * 通过指定日期获取阳历季度 + * + * @param date 日期 + * @return 阳历季度 + */ + public static SolarSeason fromDate(Date date){ + return new SolarSeason(date); + } + + /** + * 通过指定日历获取阳历季度 + * + * @param calendar 日历 + * @return 阳历季度 + */ + public static SolarSeason fromCalendar(Calendar calendar){ + return new SolarSeason(calendar); + } + + /** + * 通过指定年月获取阳历季度 + * + * @param year 年 + * @param month 月 + * @return 阳历季度 + */ + public static SolarSeason fromYm(int year,int month){ + return new SolarSeason(year,month); + } + /** * 获取年 * diff --git a/src/main/java/com/nlf/calendar/SolarWeek.java b/src/main/java/com/nlf/calendar/SolarWeek.java index 3669e6c..1c67eb1 100644 --- a/src/main/java/com/nlf/calendar/SolarWeek.java +++ b/src/main/java/com/nlf/calendar/SolarWeek.java @@ -67,6 +67,41 @@ public class SolarWeek { this.start = start; } + /** + * 通过指定日期获取阳历周 + * + * @param date 日期 + * @param start 星期几作为一周的开始,1234560分别代表星期一至星期天 + * @return 阳历周 + */ + public static SolarWeek fromDate(Date date,int start){ + return new SolarWeek(date,start); + } + + /** + * 通过指定日历获取阳历周 + * + * @param calendar 日历 + * @param start 星期几作为一周的开始,1234560分别代表星期一至星期天 + * @return 阳历周 + */ + public static SolarWeek fromCalendar(Calendar calendar,int start){ + return new SolarWeek(calendar,start); + } + + /** + * 通过指定年月日获取阳历周 + * + * @param year 年 + * @param month 月,1到12 + * @param day 日,1到31 + * @param start 星期几作为一周的开始,1234560分别代表星期一至星期天 + * @return 阳历周 + */ + public static SolarWeek fromYmd(int year,int month,int day,int start){ + return new SolarWeek(year,month,day,start); + } + /** * 获取年 * diff --git a/src/main/java/com/nlf/calendar/SolarYear.java b/src/main/java/com/nlf/calendar/SolarYear.java index 8b713c8..6ce86ae 100644 --- a/src/main/java/com/nlf/calendar/SolarYear.java +++ b/src/main/java/com/nlf/calendar/SolarYear.java @@ -39,7 +39,7 @@ public class SolarYear{ } /** - * 通过年 + * 通过年初始化 * * @param year 年 */ @@ -47,6 +47,36 @@ public class SolarYear{ this.year = year; } + /** + * 通过指定日期获取阳历年 + * + * @param date 日期 + * @return 阳历年 + */ + public static SolarYear fromDate(Date date){ + return new SolarYear(date); + } + + /** + * 通过指定日历获取阳历年 + * + * @param calendar 日历 + * @return 阳历年 + */ + public static SolarYear fromCalendar(Calendar calendar){ + return new SolarYear(calendar); + } + + /** + * 通过指定年份获取阳历年 + * + * @param year 年 + * @return 阳历年 + */ + public static SolarYear fromYear(int year){ + return new SolarYear(year); + } + /** * 获取年 *