输入年份得到当年春节的公历

package com.fangdi.workflow.definition.webService;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test1 {

 public static void main(String[] args) {
  // 调用农历日期转换阳历日期方法
  String str = new Calendar().sCalendarLundarToSolar(2015, 1, 1);
  System.out.println(nDaysAfterOneDateString(str,1));
 }

 public static  String   nDaysAfterOneDateString(String basicDate,int n)   { 
  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date tmpDate = null; 
        try   { 
            tmpDate = df.parse(basicDate); 
        } 
        catch(Exception e){ 
        } 
        long nDay=(tmpDate.getTime()/(24*60*60*1000)+1-n)*(24*60*60*1000); 
        tmpDate.setTime(nDay); 
        return   df.format(tmpDate); 
    }
 
 
  static class Calendar {
  private final int[] iLunarMonthDaysTable = {
    0x4ae0,
    0xa570,
    0x5268,
    0xd260,
    0xd950,
    0x6aa8,
    0x56a0,
    0x9ad0,
    0x4ae8,
    0x4ae0, //  1910
    0xa4d8,
    0xa4d0,
    0xd250,
    0xd548,
    0xb550,
    0x56a0,
    0x96d0,
    0x95b0,
    0x49b8,
    0x49b0, //  1920
    0xa4b0,
    0xb258,
    0x6a50,
    0x6d40,
    0xada8,
    0x2b60,
    0x9570,
    0x4978,
    0x4970,
    0x64b0, //  1930
    0xd4a0,
    0xea50,
    0x6d48,
    0x5ad0,
    0x2b60,
    0x9370,
    0x92e0,
    0xc968,
    0xc950,
    0xd4a0, //  1940
    0xda50,
    0xb550,
    0x56a0,
    0xaad8,
    0x25d0,
    0x92d0,
    0xc958,
    0xa950,
    0xb4a8,
    0x6ca0, //  1950
    0xb550,
    0x55a8,
    0x4da0,
    0xa5b0,
    0x52b8,
    0x52b0,
    0xa950,
    0xe950,
    0x6aa0,
    0xad50, //  1960
    0xab50,
    0x4b60,
    0xa570,
    0xa570,
    0x5260,
    0xe930,
    0xd950,
    0x5aa8,
    0x56a0,
    0x96d0, //  1970
    0x4ae8, 0x4ad0,
    0xa4d0,
    0xd268,
    0xd250,
    0xd528,
    0xb540,
    0xb6a0,
    0x96d0,
    0x95b0, //  1980
    0x49b0, 0xa4b8, 0xa4b0,
    0xb258,
    0x6a50,
    0x6d40,
    0xada0,
    0xab60,
    0x9370,
    0x4978, //  1990
    0x4970, 0x64b0, 0x6a50, 0xea50,
    0x6b28,
    0x5ac0,
    0xab60,
    0x9368,
    0x92e0,
    0xc960, //  2000
    0xd4a8, 0xd4a0, 0xda50, 0x5aa8, 0x56a0,
    0xaad8,
    0x25d0,
    0x92d0,
    0xc958,
    0xa950, //  2010
    0xb4a0, 0xb550, 0xb550, 0x55a8, 0x4ba0, 0xa5b0,
    0x52b8,
    0x52b0,
    0xa930,
    0x74a8, //  2020
    0x6aa0, 0xad50, 0x4da8, 0x4b60, 0x9570, 0xa4e0, 0xd260,
    0xe930,
    0xd530,
    0x5aa0, //  2030
    0x6b50, 0x96d0, 0x4ae8, 0x4ad0, 0xa4d0, 0xd258, 0xd250, 0xd520,
    0xdaa0,
    0xb5a0, //  2040
    0x56d0, 0x4ad8, 0x49b0, 0xa4b8, 0xa4b0, 0xaa50, 0xb528, 0x6d20,
    0xada0, 0x55b0 //  2050
  };

  private final char[] iLunarLeapMonthTable = { 0x00, 0x50, 0x04,
    0x00, 0x20, //  1910
    0x60, 0x05, 0x00, 0x20, 0x70, //  1920
    0x05, 0x00, 0x40, 0x02, 0x06, //  1930
    0x00, 0x50, 0x03, 0x07, 0x00, //  1940
    0x60, 0x04, 0x00, 0x20, 0x70, //  1950
    0x05, 0x00, 0x30, 0x80, 0x06, //  1960
    0x00, 0x40, 0x03, 0x07, 0x00, //  1970
    0x50, 0x04, 0x08, 0x00, 0x60, //  1980
    0x04, 0x0a, 0x00, 0x60, 0x05, //  1990
    0x00, 0x30, 0x80, 0x05, 0x00, //  2000
    0x40, 0x02, 0x07, 0x00, 0x50, //  2010
    0x04, 0x09, 0x00, 0x60, 0x04, //  2020
    0x00, 0x20, 0x60, 0x05, 0x00, //  2030
    0x30, 0xb0, 0x06, 0x00, 0x50, //  2040
    0x02, 0x07, 0x00, 0x50, 0x03 //  2050
  };

  private final char[] iSolarLunarOffsetTable = { 49, 38, 28, 46,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值