农历转换公历查询器(农历转阳历查询
发布时间: 2023-07-10

本文目录

农历转阳历查询

农历是1976年8月26日的阳历是1976年9月19日
1960年10月28日阳历是1960年12月16日

求农历转公历 公历转农历 农历转公历的程序 C++

  void solar()
  {
  int nyear,nmonth,nday, gyear,gmonth,gday;
  long int Ndata,c;
  int wei=11,mt,nwhatday=0,runday,runmonth,nm,i,a,whatChunJie,ChunJieYear,zgwhatday,gyday,ms,cz,runt;
  char YNrun;
  system(“cls“);
  cout《《“输入需查询的农历年月日(例:2005 05 25)“《《endl;
  cin》》nyear;
  cin》》nmonth;
  cin》》nday;
  if(judge(gyear,gmonth,gday)==0){
  cout《《“error date“《《endl;
  return;
  }
  runday=(NongliData/0x1000)%0x10; //取出判断闰月天数的值
  runmonth=(NongliData/0x100)%0x10; //取出判断是否闰月闰几月的值
  if(runday==1) runt=30;
  else runt=29;
  if(YNrun==’y’)
  nm=nmonth; //计算该月前面有几个月
  else nm=nmonth-1;//计算在该农历年的第几天
  Ndata=NongliData;
  c=Ndata/0x10000;
  wei=11;
  while(wei》=0 && nm》0){
  i=c》》wei&~(~0《《1);
  if(i==1) mt=30;
  else mt=29;
  nwhatday=nwhatday+mt;
  nm--;
  wei--;
  }
  if(nmonth》runmonth && runmonth!=0){
  nwhatday=nwhatday+runt;
  }
  nwhatday=nwhatday+nday;//计算该年春节在公历年的第几天
  ChunJieYear=NongliData;
  a=ChunJieYear%0x100;
  whatChunJie=gPastday+a%100;
  if((ChunJieYear%4==0 && ChunJieYear%100!=0 || ChunJieYear%400==0) && (a/100》2)) whatChunJie++;
  zgwhatday=nwhatday+whatChunJie-1;//计算该公历年一年总天数
  if(nyear%4==0 && nyear%100!=0 || nyear%400==0){
  gyday=366;
  months=29;
  }
  else{
  gyday=365;
  months=28;
  }
  //换算出公历年份
  if(zgwhatday》gyday){
  gyear=nyear+1;
  zgwhatday=zgwhatday-gyday;
  }
  else gyear=nyear;
  //换算出公历月份
  ms=1;
  cz=zgwhatday;
  gmonth=0;
  while(ms《13){
  cz=cz-months;
  if(cz《=0) {
  gmonth++;
  gday=cz+months;
  break;
  }
  gmonth++;
  ms++;
  }
  cout《《endl《《“由农历转换成公历查询结果如下“《《endl《《endl;
  cout《《“农历:“《《 nyear《《“年“《《nmonth《《“月“《《nday《《“日“《《endl;
  cout《《endl《《“公历: (公元)“《《gyear《《“年“《《gmonth《《“月“《《gday《《“日“《《endl;
  getch();
  }



扫码加微信详细咨询太和智慧养老产品和平台服务!

微信