寿星天文历Java封装整理版

由于生活和工作的原因,“寿星天文历”我一直没有动,长时间的丢弃后,当重新拾起时,比较费劲。编程就是这样,思维的火花只在当初的那一瞬,一旦熄灭,重新再点燃断掉的思维是很困难的。因为人的“忘记”能力,真的是挺强的,有时回顾或维护以前的代码时,常常会感叹道:这是我写的吗?够牛逼,看不懂!呵呵,这时候注释的作用的凸显出来了,尽管如此有时仅仅靠注释找以前的思路也是很困难。

跑题了,那么,首先对于等着“寿星天文历”封装整理版代码的各位,说声抱歉。这回整理的代码,修复了部分小bug和线程安全问题,同时整理的结构更易于理解,并与寿星天文历的JS原版代码的结构保持一致,以方便各位阅读和理解,本来想把变量的命名方式与JS原版一致的,但最后还是没有这么做,原因是是在看不惯JS源码的变量命名方式。注释上都有与原版变量名称的对应说明,各位想理解源码或继续完善的,就麻烦自己对照着看吧。

本次的封装版,实质上还是较为简单,没有进一步深入和挖掘,但也基本够用了。各位读者可以根据自己的需要进行进一步整理,不过再整理和改造之前,建议还是先了解下相关的知识,否则估计你都无从下手,即便改了,在不了解逻辑的情况下,也容易出错。

说明:

1. LunarCalendar对象是以月历为基准的,例如:2014年8月的月历数据。

2. LunarCalendar的所有方法都是针对于农历而言,例如getMonth方法,代表获取的是农历月的数据,而不是公历。

3. LunarCalendar实例化,默认为今天,可以指定为某天,大多数方法都是依据实例化时指定的天而返回数据的。

4. LunarDate类,是某一天的农历数据对象,并且已经拆分,而不是以前那样都混杂在一块。

5. JulianDate类,是公历数据对象。

6. LunarConstant类,是基本常量的数据对象,里面含有大量基本数据。

由于代码很多,所以我以文件的形式上传到了CSDN资源库里,博文里就不贴了。

Java源码下载地址:

http://download.csdn.net/detail/wangpeng047/7755661


测试代码:

package com.test;

import org.junit.Test;

import com.util.DateStyle;
import com.util.DateUtil;
import com.util.LunarCalendar;

public class TestLunarCalender {

	@Test
	public void test () {
//		String dateStr = "2015-2-4";
//		LunarCalendar calendar = new LunarCalendar(DateUtil.stringToDate(dateStr, DateStyle.YYYY_MM_DD));
		LunarCalendar calendar = new LunarCalendar();
		System.out.println("getAnimalString=" + calendar.getAnimalString());
		System.out.println("getDateString=" + calendar.getDateString());
		System.out.println("getDay=" + calendar.getDay());
		System.out.println("getDayString=" + calendar.getDayString());
		System.out.println("getGanZhiDateString=" + calendar.getGanZhiDateString());
		System.out.println("getMaxDayInMonth=" + calendar.getMaxDayInMonth());
		System.out.println("getMonth=" + calendar.getMonth());
		System.out.println("getMonthString=" + calendar.getMonthString());
		System.out.println("getYear=" + calendar.getYear());
		System.out.println("getYearString=" + calendar.getYearString());

		String[] strs = calendar.getAllSolarTerm();
		for (String str : strs) {
			System.out.println(str);
		}
	}
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值