您的位置:首页 > 娱乐 > 明星 > SpringBoot集成道历(实现道历日期查询)

SpringBoot集成道历(实现道历日期查询)

2024/10/6 18:33:37 来源:https://blog.csdn.net/weixin_46085718/article/details/139987504  浏览:    关键词:SpringBoot集成道历(实现道历日期查询)

 

官网地址:官网地址icon-default.png?t=N7T8https://6tail.cn/calendar/api.html

 

 1、导入依赖

 <dependency><groupId>cn.6tail</groupId><artifactId>lunar</artifactId><version>1.3.9</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.5.13</version></dependency>
package com.example.demo.controller;import com.example.demo.VO.ReligiousCultureDaoCalendarVO;
import com.nlf.calendar.Lunar;
import com.nlf.calendar.Tao;
import com.nlf.calendar.TaoFestival;import io.swagger.annotations.ApiOperation;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;/*** @Classname ReligiousCultureDaoCalendarController* @Description 道历接口* @Date 2024/4/7 12:17* @Created by CaoJun*/
@RestController
@RequestMapping("/religious/dao/calendar")
public class ReligiousCultureDaoCalendarController {/*** 选择日期获取某天道历详情*/@GetMapping("/selectDaysDate")@ApiOperation("选择日期获取某天道历详情")public ReligiousCultureDaoCalendarVO getInfo(@RequestParam(value = "dateString") String dateString) {if (StringUtils.isEmpty(dateString)) {throw new RuntimeException("日期不能为空!");}ReligiousCultureDaoCalendarVO religiousCultureDaoCalendarVO=new ReligiousCultureDaoCalendarVO();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");try {Date date = sdf.parse(dateString);Tao d = Tao.fromLunar(Lunar.fromDate(date));List<TaoFestival> l = d.getFestivals();religiousCultureDaoCalendarVO.setFestivals(l);String monthInChinese = d.getMonthInChinese();String dayInChinese = d.getDayInChinese();String s1 = monthInChinese + "月" + dayInChinese;religiousCultureDaoCalendarVO.setMonthAndDayInChineseNL(s1);int year = d.getYear();String daoYear ="道歷"+year+"年";religiousCultureDaoCalendarVO.setDaoCalendarYear(daoYear);// 转阴历Lunar lunar = d.getLunar();// 分割数据String[] parts = lunar.toFullString().split(" ");String part = parts[1];// 使用正则表达式删除括号及括号内的内容String result = part.replaceAll("\\(.*?\\)", "");// 输出结果religiousCultureDaoCalendarVO.setYearCalendar(result);String part1 = parts[2];// 使用正则表达式删除括号及括号内的内容String result1 = part1.replaceAll("\\(.*?\\)", "");// 输出结果religiousCultureDaoCalendarVO.setMonthCalendar(result1);String part2 = parts[3];String result12 = part2.replaceAll("\\(.*?\\)", "");religiousCultureDaoCalendarVO.setDayCalendar(result12);
//            System.out.println(d.toFullString());
//            System.out.println("-----------------------");
//            正月七日,名:举迁赏会,此日上元赐福,天官同地水二官考校罪福。
//            七月七日,名:庆生中会,此日中元赦罪,地官同天水二官考校罪福。
//            十月十五日,名:建生大会,此日下元解厄,水官同天地二官考校罪福。
//            其三会之日,三官考核功过,三魂攒送生人善恶。又谓之三魂会日,宜焚香忏过。
//            .isDaySanHui()
//            当日是否三会日,返回true/false,具体名称在节日里boolean daySanHui = d.isDaySanHui();religiousCultureDaoCalendarVO.setIsDaySanHui(daySanHui);
//            正月十五,上元节;七月十五,中元节,十月十五,下元节。
//            其三元之日,天地水三官二十七府百二十曹之神,先于三会日考校罪福,至三元日上奏金阙,以降祸福。其日可行道建斋,修身谢过。
//            .isDaySanYuan()
//            当日是否三元日,返回true/false,具体名称在节日里boolean daySanYuan = d.isDaySanYuan();religiousCultureDaoCalendarVO.setIsDaySanYuan(daySanYuan);
//            立春:东北方度仙上圣天尊同梵炁始青天君下降。
//            春分:东方玉宝星上天尊同青帝九炁天君下降。
//            立夏:东南方好生度命天尊同梵炁始丹天君下降。
//            夏至:南方玄真万福天尊同赤帝三炁天君下降。
//            立秋:西南方太灵虚皇天尊同梵炁始素天君下降。
//            秋分:西方太妙至极天尊同白帝七炁天君下降。
//            立冬:西北方无量太华天尊同梵炁始玄天君下降。
//            冬至:北方玄上玉宸天尊同黑帝五炁天君下降。
//            其曰八极天尊天君同下人问,录人罪福,观察善恶。
//            .isDayBaJie()
//            当日是否八节日,返回true/false,具体名称在节日里boolean dayBaJie = d.isDayBaJie();religiousCultureDaoCalendarVO.setIsDayBaJie(dayBaJie);
//            正月一日,名天腊,此日五帝会于东方九炁青天。
//            五月五日,名地腊,此日五帝会于南方三炁丹天。
//            七月七日,名道德腊,此日五帝会于西方七炁素天。
//            十月一日,名民岁腊,此日五帝会于北方五炁黑天。
//            十一月八日,名王侯腊,此日五帝会于上方玄都玉京。
//            其五帝攒会之日,此日酆都北阴天帝考校鬼魂,查生人祖考及见世子孙所行善恶,以定罪福。此日皆累生人,宜当醮谢,须凭法力祭祀,追赎涂苦,一一得福,常日祭祀,不可享也。
//            .isDayWuLa()
//            当日是否五腊日,返回true/false,具体名称在节日里boolean dayWuLa = d.isDayWuLa();religiousCultureDaoCalendarVO.setIsDayWuLa(dayWuLa);
//            天会丙午,地会壬午,人会壬子,日会庚午,月会庚申,星辰会辛酉,五行会甲辰,四时会甲戌。
//            其节会宜斋戒焚香,醮告星辰,看经拜忏,祭祀先灵,可以延年益算。
//            .isDayBaHui()
//            当日是否八会日,返回true/false,具体名称在节日里boolean dayBaHui = d.isDayBaHui();religiousCultureDaoCalendarVO.setIsDayBaHui(dayBaHui);
//            戊日为禁忌日,道场会在戊日休息。戊日又分为明戊日、暗戊日。
//            明戊日即天干为“戊”的日子。
//            暗戊日则按口诀推算:
//            正羊(未日)二犬(戍日)三在辰,四月期间不犯寅,五午六子七鸡(酉日)位,八月周流又到申,九蛇(巳日)十猪(亥日)十一兔(卯日),十二牛头(丑日)重千斤。
//            .isDayWu()
//            当日是否戊日,返回true/false
//            .isDayMingWu()
//            当日是否明戊日,返回true/false
//            .isDayAnWu()
//            当日是否暗戊日,返回true/falseboolean dayMingWu = d.isDayMingWu();religiousCultureDaoCalendarVO.setIsDayMingWu(dayMingWu);boolean dayAnWu = d.isDayAnWu();religiousCultureDaoCalendarVO.setIsDayAnWu(dayAnWu);
//            天赦日,四时专气、生育万物、免罪赦过、天帝赦免众生罪过吉日,最利于消灾化煞,祈福延寿。天赦日最忌杀生,遇此日婚娶、宴请不要肆意杀生,尽量提前购买三净肉以备使用或者干脆素宴。
//            天赦日规则:
//            春戊寅、夏甲午、秋戊申、冬甲子。
//            .isDayTianShe()
//            当日是否天赦日,返回true/falseboolean dayTianShe = d.isDayTianShe();religiousCultureDaoCalendarVO.setIsDayTianShe(dayTianShe);} catch (ParseException e) {e.printStackTrace();}return religiousCultureDaoCalendarVO;}}

 

package com.example.demo.VO;import com.nlf.calendar.TaoFestival;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;import java.util.List;/*** @Classname ReligiousCultureDaoCalendarVO* @Description 道历的返回的VO* @Date 2024/4/7 12:23* @Created by CaoJun*/
@Data
public class ReligiousCultureDaoCalendarVO {/** 农历的月 */@ApiModelProperty("农历的月日")private String MonthAndDayInChineseNL;/** 农历的日 */@ApiModelProperty("道历年")private String DaoCalendarYear;@ApiModelProperty("获取某一天的节日")private List<TaoFestival> Festivals;@ApiModelProperty("获取农历年")private String yearCalendar;@ApiModelProperty("获取农历月")private String monthCalendar;@ApiModelProperty("获取农历日")private String dayCalendar;/** 当日是否三会日 */@ApiModelProperty("当日是否三会日")private Boolean isDaySanHui;/** 当日是否三元日 */@ApiModelProperty("当日是否三元日")private Boolean isDaySanYuan;/** 当日是否八节日 */@ApiModelProperty("当日是否八节日")private Boolean isDayBaJie;/** 当日是否五腊日 */@ApiModelProperty("当日是否五腊日")private Boolean isDayWuLa;/** 当日是否八会日 */@ApiModelProperty("当日是否八会日")private Boolean isDayBaHui;/** 当日是否明戊日 */@ApiModelProperty("当日是否明戊日")private Boolean isDayMingWu;/** 当日是否明戊日 */@ApiModelProperty("当日是否暗戊日")private Boolean isDayAnWu;/** 当日是否天赦日 */@ApiModelProperty("当日是否天赦日")private Boolean isDayTianShe;}

实现的效果如下:

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com