赞
踩
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
/**
*describe:24节气
*
* 注:程序中使用到的计算节气公式、节气世纪常量等相关信息参照
*
* 程序的运行得出的节气结果绝大多数是正确的,有少数部份是有误差的
*/
public class SolarTerms {
private static final double D = 0.2422;
private final static Map<String, Integer[]> INCREASE_OFFSETMAP = new HashMap<String, Integer[]>();// +1偏移
private final static Map<String, Integer[]> DECREASE_OFFSETMAP = new HashMap<String, Integer[]>();// -1偏移
/** 24节气 **/
private static enum SolarTermsEnum {
LICHUN, // --立春
YUSHUI, // --雨水
JINGZHE, // --惊蛰
CHUNFEN, // 春分
QINGMING, // 清明
GUYU, // 谷雨
LIXIA, // 立夏
XIAOMAN, // 小满
MANGZHONG, // 芒种
XIAZHI, // 夏至
XIAOSHU, // 小暑
DASHU, // 大暑
LIQIU, // 立秋
CHUSHU, // 处暑
BAILU, // 白露
QIUFEN, // 秋分
HANLU, // 寒露
SHUANGJIANG, // 霜降
LIDONG, // 立冬
XIAOXUE, // 小雪
DAXUE, // 大雪
DONGZHI, // 冬至
XIAOHAN, // 小寒
DAHAN;// 大寒
}
static {
DECREASE_OFFSETMAP.put(SolarTermsEnum.YUSHUI.name(), new Integer[] { 2026 });// 雨水
INCREASE_OFFSETMAP.put(SolarTermsEnum.CHUNFEN.name(), new Integer[] { 2084 });// 春分
INCREASE_OFFSETMAP.put(SolarTermsEnum.XIAOMAN.name(), new Integer[] { 2008 });// 小满
INCREASE_OFFSETMAP.put(SolarTermsEnum.MANGZHONG.name(), new Integer[] { 1902 });// 芒种
INCREASE_OFFSETMAP.put(SolarTermsEnum.XIAZHI.name(), new Integer[] { 1928 });// 夏至
INCREASE_OFFSETMAP.put(SolarTermsEnum.XIAOSHU.name(), new Integer[] { 1925, 2016 });// 小暑
INCREASE_OFFSETMAP.put(SolarTermsEnum.DASHU.name(), new Integer[] { 1922 });// 大暑
INCREASE_OFFSETMAP.put(SolarTermsEnum.LIQIU.name(), new Integer[] { 2002 });// 立秋
INCREASE_OFFSETMAP.put(SolarTermsEnum.BAILU.name(), new Integer[] { 1927 });// 白露
INCREASE_OFFSETMAP.put(SolarTermsEnum.QIUFEN.name(), new Integer[] { 1942 });// 秋分
INCREASE_OFFSETMAP.put(SolarTermsEnum.SHUANGJIANG.name(), new Integer[] { 2089 });// 霜降
INCREASE_OFFSETMAP.put(SolarTermsEnum.LIDONG.name(), new Integer[] { 2089 });// 立冬
INCREASE_OFFSETMAP.put(SolarTermsEnum.XIAOXUE.name(), new Integer[] { 1978 });// 小雪
INCREASE_OFFSETMAP.put(SolarTermsEnum.DAXUE.name(), new Integer[] { 1954 });// 大雪
DECREASE_OFFSETMAP.put(SolarTermsEnum.DONGZHI.name(), new Integer[] { 1918, 2021 });// 冬至
INCREASE_OFFSETMAP.put(SolarTermsEnum.XIAOHAN.name(), new Integer[] { 1982 });// 小寒
DECREASE_OFFSETMAP

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。