⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 year.cpp

📁 一款很实用的伽利略时间转换成北京时间的小工具!
💻 CPP
字号:
//已通过验证的儒略日时间显示
//year.cpp
#include <iostream.h>
#include <stdio.h>
#include "year.h"


#define Julian 0x3365


void main ()
{
	int Julian1992,year;

	Julian1992=Julian-8036;    //8036定义为自1970年至1992年之间的总时间
	                           //(考虑到我国Doppler雷达建站时间比较近,
	                           //均在1992年以后,则以1992年为记时初始365*16+366*6=8036)
	
	
	//讨论数据正确性
	  //如果显示时间比8036小,说明雷达扫描时间是在1992年以前
	  //则判断数据有误
	  //因为雷达布网是在1992年以后的事情
	if(Julian1992<0)
	{
		printf("警告:数据文件已破坏!\n");
	}

	else
	{
	year=Julian1992/1461;     //1461定义为四年总时间(考虑每四年一个闰年365*3+366=1461)
	xyear=year*4;
	//printf("%d\n",xyear);
	
	
	day=Julian1992%1461;
    //printf("%d\n",day);

    (day>0)? dayu(day):budayu(day);
	

	printf("体扫开始于 %d年%d月%d日!\n",DisplayYear,DisplayMon,DisplayDay);
	}


}


int budayu (int cc)  //刚好被1461整除,即为整个四年
{
	DisplayYear=xyear+1992;
	DisplayMon=12;
	DisplayDay=31;
	
	return(0);
}


int  dayu (int tt)  //不能被1461整除,则要考虑剩余天数以决定是那一年
                    //考虑到每四年一个闰年
					//编程者的思想:每四年分配为 平年+平年+平年+闰年
					//以此思想,则每四年的天数分配为365+365+365+366天
					//将剩余天数分成四种情况:
					//(1)0<tt<=365,即为第一年
					//(2)365<tt<=730,即为第二年
					//(3)730<tt<=1095,即为第三年
					//(4)1095<tt<1461,即为第四年(<1461而非<=1461,当等于是刚好整除,与dayu()重复)
{
	//以下为第一年
	if(tt>0 && tt<=365) 
	{	
	   DisplayYear=xyear+1992+1;
	
	if(tt>334)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-334;
	}	
    else if(tt>304)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-304;
	}
	else if(tt>273)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-273;
	}
	else if(tt>243)   //9月
	{
		DisplayMon=9;
		DisplayDay=tt-243;
	}
	else if(tt>212)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-212;
	}
	else if(tt>181)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-181;
	}
	else if(tt>151)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-151;
	}
	else if(tt>120)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-120;
	}
	else if(tt>90)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-90;
	}
	else if(tt>59)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-59;
	}
	else if(tt>31)                 //2月
	{
		DisplayMon=2;
	    DisplayDay=tt-31;
	}
	else                  //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}
    
	}




//以下为第二年
	if(tt>365 && tt<=730)
	{
		
     DisplayYear=xyear+1992+2;
	
	tt=tt-365;
	if(tt>334)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-334;
	}	
    else if(tt>304 && tt<=334)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-304;
	}
	else if(tt>273 && tt<=304)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-273;
	}
	else if(tt>243 && tt<=273)   //9月
	{
		DisplayMon=9;
		DisplayDay=tt-243;
	}
	else if(tt>212 && tt<=243)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-212;
	}
	else if(tt>181 && tt<=212)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-181-365;
	}
	else if(tt>151 && tt<=181)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-151;
	}
	else if(tt>120 && tt<=151)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-120;
	}
	else if(tt>90 && tt<=120)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-90;
	}
	else if(tt>59 && tt<=90)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-59;
	}
	else if(tt>31 && tt<=59)                 //2月
	{
		DisplayMon=2;
	    DisplayDay=tt-31-365;
	}
	else                  //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}
	}
	
	
//以下为第三年
	if(tt>730 && tt<=1095)
	{
	DisplayYear=xyear+1992+3;
	tt=tt-365-365;
	if(tt>334)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-334;
	}	
    else if(tt>304)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-304;
	}
	else if(tt>273)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-273;
	}
	else if(tt>243)   //9月
	{
		DisplayMon=9;
		DisplayDay=tt-243;
	}
	else if(tt>212)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-212;
	}
	else if(tt>181)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-181;
	}
	else if(tt>151)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-151;
	}
	else if(tt>120)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-120;
	}
	else if(tt>90)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-90;
	}
	else if(tt>59)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-59;
	}
	else if(tt>31)                 //2月
	{
		DisplayMon=2;
	    DisplayDay=tt-31;
	}
	else                  //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}
	}
//以下为第四年

	else if(tt>1095 && tt<1461)  
		{
	
	DisplayYear=xyear+1992+4;

	tt=tt-365-365-365;
	if(tt>335)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-335;
	}
	else if( tt>305)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-305;
	}
	else if(tt>274)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-274;
	}
	else if(tt>244)                 //9月
	{
		DisplayMon=9;
	    DisplayDay=tt-244;
	}
	else if(tt>213)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-213;
	}
	else if(tt>182)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-182;
	}
	else if(tt>152)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-152;
	}
	else if(tt>121)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-121;
	}
	else if(tt>91)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-91;
	}
	else if(tt>60)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-60;
	}
	else if(tt>31)                //2月
	{
	    DisplayMon=2;
	    DisplayDay=tt-31;
	}
	else                 //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}
	}

	return(DisplayYear);
	return(DisplayMon);
	return(DisplayDay);
  			
}

/*
int  Display2(int tt)   //闰年
{
	
	DisplayYear=xyear+1992+4;
	//switch(tt)
	tt=tt-365-365-365;
	if(tt>335)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-335;
	}
	else if( tt>305)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-305;
	}
	else if(tt>274)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-274;
	}
	else if(tt>244)                 //9月
	{
		DisplayMon=9;
	    DisplayDay=tt-244;
	}
	else if(tt>213)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-213;
	}
	else if(tt>182)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-182;
	}
	else if(tt>152)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-152;
	}
	else if(tt>121)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-121;
	}
	else if(tt>91)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-91;
	}
	else if(tt>60)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-60;
	}
	else if(tt>31)                //2月
	{
	    DisplayMon=2;
	    DisplayDay=tt-31;
	}
	else                 //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}

	return(	DisplayYear);
	return(	DisplayMon );
	return(	DisplayDay );

}

int  Display3(int tt)  //平年
{
	DisplayYear=xyear+1992+3;
	tt=tt-365-365;
	if(tt>334)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-334;
	}	
    else if(tt>304)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-304;
	}
	else if(tt>273)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-273;
	}
	else if(tt>243)   //9月
	{
		DisplayMon=9;
		DisplayDay=tt-243;
	}
	else if(tt>212)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-212;
	}
	else if(tt>181)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-181;
	}
	else if(tt>151)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-151;
	}
	else if(tt>120)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-120;
	}
	else if(tt>90)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-90;
	}
	else if(tt>59)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-59;
	}
	else if(tt>31)                 //2月
	{
		DisplayMon=2;
	    DisplayDay=tt-31;
	}
	else                  //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}
	return(0);
}


int  Display4(int tt)  //平年
{
	DisplayYear=xyear+1992+2;
	//switch(tt)
	tt=tt-365;
	if(tt>334)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-334;
	}	
    else if(tt>304 && tt<=334)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-304;
	}
	else if(tt>273 && tt<=304)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-273;
	}
	else if(tt>243 && tt<=273)   //9月
	{
		DisplayMon=9;
		DisplayDay=tt-243;
	}
	else if(tt>212 && tt<=243)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-212;
	}
	else if(tt>181 && tt<=212)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-181-365;
	}
	else if(tt>151 && tt<=181)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-151;
	}
	else if(tt>120 && tt<=151)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-120;
	}
	else if(tt>90 && tt<=120)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-90;
	}
	else if(tt>59 && tt<=90)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-59;
	}
	else if(tt>31 && tt<=59)                 //2月
	{
		DisplayMon=2;
	    DisplayDay=tt-31-365;
	}
	else                  //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}
	return(0);
}

/*
int  Display5(int tt)  //平年
{
	DisplayYear=xyear+1992+1;
	//switch(tt)
	if(tt>334)                 //12月
	{
		DisplayMon=12;
	    DisplayDay=tt-334;
	}	
    else if(tt>304)                 //11月
	{
		DisplayMon=11;
	    DisplayDay=tt-304;
	}
	else if(tt>273)                 //10月
	{
		DisplayMon=10;
	    DisplayDay=tt-273;
	}
	else if(tt>243)   //9月
	{
		DisplayMon=9;
		DisplayDay=tt-243;
	}
	else if(tt>212)                 //8月
	{
		DisplayMon=8;
	    DisplayDay=tt-212;
	}
	else if(tt>181)                 //7月
	{
		DisplayMon=7;
	    DisplayDay=tt-181;
	}
	else if(tt>151)                 //6月
	{
		DisplayMon=6;
	    DisplayDay=tt-151;
	}
	else if(tt>120)                 //5月
	{
		DisplayMon=5;
	    DisplayDay=tt-120;
	}
	else if(tt>90)                 //4月
	{
		DisplayMon=4;
	    DisplayDay=tt-90;
	}
	else if(tt>59)                 //3月
	{
		DisplayMon=3;
	    DisplayDay=tt-59;
	}
	else if(tt>31)                 //2月
	{
		DisplayMon=2;
	    DisplayDay=tt-31;
	}
	else                  //1月
	{
		DisplayMon=1;
	    DisplayDay=tt;
	}
    return(0);
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -