java 日期计算星座_Java日期时间API系列25-----Jdk8中java.time包中的新的日期时间API类,使用MonthDay计算十二星座。...

packagecom.xkzhangsan.time.enums;import staticcom.xkzhangsan.time.constants.Constant.MONTHDAY_FORMAT_PRE;importjava.time.MonthDay;importjava.util.Objects;/*** 星座名称枚举,包含英文全称,中文全称,时间范围

*

* @ClassName: ConstellationNameEnum

* @Description: ConstellationNameEnum

*@authorxkzhangsan

* @date 2020年02-29*/

public enumConstellationNameEnum {

Aries(1, "白羊座", "03-21", "04-19"),

Taurus(2, "金牛座", "04-20", "05-20"),

Gemini(3, "双子座", "05-21", "06-21"),

Cancer(4, "巨蟹座", "06-22", "07-22"),

Leo(5, "狮子座", "07-23", "08-22"),

Virgo(6, "处女座", "08-23", "09-22"),

Libra(7, "天秤座", "09-23", "10-23"),

Scorpio(8, "天蝎座", "10-24", "11-22"),

Sagittarius(9, "射手座", "11-23", "12-21"),

Capricorn(10, "摩羯座", "12-22", "01-19"),

Aquarius(11, "水瓶座", "01-20", "02-18"),

Pisces(12, "双鱼座", "02-19", "03-20"),;/*** 序号*/

private intcode;/*** 中文名称*/

privateString nameCn;/*** 开始时间*/

privateString startDate;/*** 结束时间*/

privateString endDate;private ConstellationNameEnum(intcode, String nameCn, String startDate, String endDate) {this.code =code;this.nameCn =nameCn;this.startDate =startDate;this.endDate =endDate;

}/*** 根据日期查询星座名称枚举

*@parammonthDayStr MM-dd格式

*@return

*/

public staticConstellationNameEnum getConstellationNameEnumByMonthDay(String monthDayStr){

Objects.requireNonNull(monthDayStr,"monthDayStr");

MonthDay monthDay= MonthDay.parse(MONTHDAY_FORMAT_PRE +monthDayStr);for(ConstellationNameEnum constellationNameEnum : ConstellationNameEnum.values()){

MonthDay monthDayStart= MonthDay.parse(MONTHDAY_FORMAT_PRE +constellationNameEnum.getStartDate());

MonthDay monthDayEnd= MonthDay.parse(MONTHDAY_FORMAT_PRE +constellationNameEnum.getEndDate());if (monthDay.equals(monthDayStart) ||monthDay.equals(monthDayEnd)|| (monthDay.isAfter(monthDayStart) &&monthDay.isBefore(monthDayEnd))) {returnconstellationNameEnum;

}

}return null;

}/*** 根据日期查询星座中文名称

*@parammonthDayStr MM-dd格式

*@return

*/

public staticString getNameCnByMonthDay(String monthDayStr){

ConstellationNameEnum constellationNameEnum=getConstellationNameEnumByMonthDay(monthDayStr);return constellationNameEnum != null ? constellationNameEnum.getNameCn() : null;

}/*** 根据日期查询星座英文名称

*@parammonthDayStr MM-dd格式

*@return

*/

public staticString getNameEnByMonthDay(String monthDayStr){

ConstellationNameEnum constellationNameEnum=getConstellationNameEnumByMonthDay(monthDayStr);return constellationNameEnum != null ? constellationNameEnum.name() : null;

}public intgetCode() {returncode;

}publicString getNameCn() {returnnameCn;

}publicString getStartDate() {returnstartDate;

}publicString getEndDate() {returnendDate;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值