有问题就有答案
Q1:2021年10月24号到2029年9月30日还有多少天?
还有2898天,用Excel算很准的
Q2:生肖表十二顺序对应年份
生肖的起源与动物崇拜有关1从湖北云梦睡虎地和甘肃天水放马滩出土的秦简来看,先秦时期存在着较为完整的十二生肖体系2最早记载与现代相同生肖的传世文献是东汉王充的《论衡》3十二生肖是十二地支的生动代表,即子(鼠)、丑(牛)、寅(虎)、卯(兔)、辰(龙)、司(蛇)、武(马)、卫(羊)、申(猴)、酉(鸡)、许(4在现代,更多的人把生肖作为春节的吉祥物,成为娱乐和文化活动的象征5生肖作为源远流长的民俗文化的象征,留下了大量描绘生肖形象和象征意义的诗词、春联、绘画、书画和民间工艺美术6除了中国,世界上许多国家在春节期间发行生肖邮票来表达他们对中国新年的祝愿7轩辕黄帝想选十二种动物做宫廷侍卫8猫让老鼠报名,但是老鼠忘了9从此,猫看到老鼠就找到了报复10原来是先推牛,老鼠偷偷爬到牛背上带头11老虎和龙不服气,被封为山神和海神,排名在牛之后12兔子拒绝接受,想要和龙赛跑13兔子跑到了龙的前面14狗很不高兴,一怒之下咬了兔子一口,最后被罚了15经过蛇、马、羊、猴子和鸡之间的一些比赛,猪终于占据了最后的席位16
Q3:日全食和月全食多少年一次
全球发生日全食平均每1.5年也会有一次17对于同一地点而言,日全食出现的频率一般为300年左右18大约每一年半就会有一次月全食发生19从地球上看,太阳和月球各自运行的轨迹每隔半年会有一次“相交”,可能发生日食的时间段还比发生月食的时间段更长20一年内可能一次月食都没有,日食却必有两到五次,但不是每次日食发生时都能看到日全食,然而月食一旦发生,处在黑夜中的半个地球都能看到,月全食长达几十分钟乃至几小时,可观测范围和持续时间远大于日全食21所以在同一地点被看到的几率更高,并且在同一地区要看到月全食,平均要等三年的时间22
Q4:为什么润年农历多一个月,而公历只多了一天?
1. 求星期公式 星期=[5+A(实际天数)] mod 7 2. 干支计算公式 六十甲子干支序号,从1-> 59-> 023 六十甲子干支序号=[23+A(实际天数)] mod 60 3. 二十八宿计算公式 二十八宿序号=[23+A(实际天数)] mod 28 4. 实际天数A的计算 A=B(基本天数)+C(闰日天数) B=(计算年-1)*365+(要计算到年的月日天数) 例:1984年2月1日的基本天数B=(1984-1)*365+(31+1)=723827(天), 其中,31是1月为31天,1为2月1日为1天24 公元308年8月28日的基本天数 B=(308-1)*365+(31+28+31+30+31+30+31+27)=112055+239=112294(天) 这里的(要计算到年的月日天数),用的是公历,月日天数的规则我好 象小学就学过了25哈哈…… C=(计算年-1) div 4 -误差修正值 + fixValue2 fixValue2为0或者126常值为0,当年数为闰年(公历闰年法)之中的3月 1日之后的为127 误差修正值推算: 公元元年1月1日至1582年10月14日为028 1582年10月15日至1699年12月31日为1029 从1701年1月1日起每增加一个世纪累加1,但能被400除尽的世纪不累 加130此方法推算即可31 --有一个问题,1700年这一年的修正值应为多少呢?算法中正好没有 讲到,但看来应该是1032 例1701年1月1日起误差值为11,而1801年1月1日起误差修正值为12, 而1901年1月1日起误差修正值为13, 但2001年误差修正值仍为13,因为2000年能被400整除,故不累加33而 2101年1月1日起误差修正值为1434 5. 实例:1998.3.15的星期、干支与二十八宿 B=(1998-1)*365+(31+28+15)=728979 C=(1998-1) div 4 - 13 + 0 = 486 A=B+C=728979+486=729465 星期序号=(5+729465) mod 7=0,即为星期日 干支序号=(13+729465) mod 60=58,即为辛酉 二十八宿序号=(23+729465) mod 28=4,即为房 =================================================== 好可怕!还有一些其它公式……但好象有些参数不知道怎么得到: 二十四节交节日算法: 用已知年的交接时辰加上22个小时35分,超过24要减去24,分数足60 进1个小时,即得到8年后的各节交节时辰35 如2000年雨水交节时辰为16时22分,则2008年雨水交节时辰为14时52 分36 因为16时22分+22时35分=38时57分3738-24=14时38 谁知道公元元年到公元八年的交节日,这个算法就可以实现了39--好 象逆算法可以解决这个问题40谁试试? 农历闰月算法: 农历中,二十四节气(十二节气和十二中气)的中气落在月末的话,下 个月就没有中气41农历将这种有节(节气)无气(中气)的月份规定为闰 月42平均计算,19年有七个闰月43 但二十四个节气的十二节气和十二中气是怎么分的呢?我没有资料, 估记应该是一节气一中气这样交叉44 🙁 unit CNYear; interface uses sysutils; type TCNDate = Cardinal; function DecodeGregToCNDate(dtGreg:TDateTime):TCNDate; function GetGregDateFromCN(cnYear,cnMonth,cnDay:word;bLeap:Boolean=Fal se):TDateTime; function GregDateToCNStr(dtGreg:TDateTime):String; function isCNLeap(cnDate:TCNDate):boolean; implementation const cstDateOrg:Integer=32900; //公历1990-01-27的TDateTime表 示 对应农历1990-01-01 const cstCNYearOrg=1990; const cstCNTable:array[cstCNYearOrg..cstCNYearOrg + 60] of WORD=( //unsigned 16-bit 24402, 3730, 3366, 13614, 2647, 35542, 858, 1749, //1997 23401, 1865, 1683, 19099, 1323, 2651, 10926, 1386, //2005 32213, 2980, 2889, 23891, 2709, 1325, 17757, 2741, //2013 39850, 1490, 3493, 61098, 3402, 3221, 19102, 1366, //2021 2773, 10970, 1746, 26469, 1829, 1611, 22103, 3243, //2029 1370, 13678, 2902, 48978, 2898, 2853, 60715, 2635, //2037 1195, 21179, 1453, 2922, 11690, 3474, 32421, 3365, //2045 2645, 55901, 1206, 1461, 14038); //2050 //建表方法: //0101 111101010010 高四位是闰月位置,后12位表示大小月,大月30 天,小月29天, //闰月一般算小月,但是有三个特例2017/06,2036/06,2047/05 //对于特例则高四位的闰月位置表示法中的最高为设置为1 特殊处理 用wLeapNormal变量 ////2017/06 28330-> 61098 2036/06 27947-> 60715 2047/05 23133-> 55901 //如果希望用汇编,这里有一条信息:农历不会滞后公历2个月. //将公历转换为农历 //返回:12位年份+4位月份+5位日期 function DecodeGregToCNDate(dtGreg:TDateTime):TCNDate; var iDayLeave:Integer; wYear,wMonth,wDay:WORD; i,j:integer; wBigSmallDist,wLeap,wCount,wLeapShift:WORD; label OK; begin result := 0; iDayLeave := Trunc(dtGreg) - cstDateOrg; DecodeDate(IncMonth(dtGreg,-1),wYear,wMonth,wDay); if (iDayLeave 22295 )then Exit; //Raise Exception.Create("目前只能算1990-01-27以后的"); //Raise Exception.Create("目前只能算2051-02-11以前的"); for i:=Low(cstCNTable) to High(cstCNTable) do begin wBigSmallDist := cstCNTable[i]; wLeap := wBigSmallDist shr 12; if wLeap > 12 then begin wLeap := wLeap and 7; wLeapShift := 1; end else wLeapShift := 0; for j:=1 to 12 do begin wCount:=(wBigSmallDist and 1) + 29; if j=wLeap then wCount := wCount - wLeapShift; if iDayLeave < wCount then begin Result := (i shl 9) + (j shl 5) + iDayLeave + 1; Exit; end; iDayLeave := iDayLeave - wCount; if j=wLeap then begin wCount:=29 + wLeapShift; if iDayLeave < wCount then begin Result := (i shl 9) + (j shl 5) + iDayLeave + 1 + (1 shl 21); Exit; end; iDayLeave := iDayLeave - wCount; end; wBigSmallDist := wBigSm
Q5:为什么润年农历多一个月,而公历只多了一天?拜托各位了 3Q
1.计算周的公式=[5 A(实际天数)] mod 7 245计算茎和枝的公式:六十枝的序号,从1- 59- 046甲子干支序号=[23 A(实际天数)] mod 60 347二十巴苏序列号的计算公式=[23 A(实际天数)] mod 28 448计算实际天数A=B(基本天数)C(闰日)B=(计算年-1)*365(计算月日和年日)49公元308年8月28日,基本天数b=(308-1)* 365(31 28 31 30 31 30 31 27)=112055 239=112294(天)50这里用的是公历51好像小学的时候学过月日规律52哈哈的笑声.c=(计算年份-1)div 4-纠错值fixValue2 fixValue2为0或153常数值为0,闰年3月1日后的当前年份数为1(公历闰年法)54误差修正值的计算:公元1年1月1日至1582年10月14日,为055从1582年10月15日到1699年12月31日,是10日56从1701年1月1日起,每增加一个世纪就累加1,但可以除以400的世纪就不累加1了57这个方法是可以计算的58——有一个问题,1700年的修正值应该是多少?算法中没有提到,但似乎应该是1059比如1701年1月1日起,误差值为11,而1801年1月1日起误差修正值为12,1901年1月1日起误差修正值为13,但2001年误差修正值仍为13,因为2000可以被400整除,所以不累加60自2101年1月1日起,纠错值为14615.例:1998年3月15日那一周,甘孜和二十八招待所b=(1998-1)* 365(31-28-15)=728-979 c=(1998-1)div 4-13 0=486 a=b c=728-979-486=62即星期日中继线序号=(13 729465) mod 60=58,即心有二十八招待所序号=(23 729465) mod 28=4,即房间=========================63还有一些其他的公式.但似乎有些参数不知道怎么得到:二十四节切换算法:已知年份的切换时间加22小时35分钟,超过24就减24,一小时内得分60,即得到8年后每个节日的切换时间64比如2000年雨水交汇时间为16: 22,2008年雨水交汇时间为14: 5265因为16: 22: 22: 35=38: 576638-24=14小时67谁知道公元一年到公元八年的节日,这个算法可以实现68——好的图像逆算法可以解决这个问题http://redoufu.com/。谁来试试?农历闰月算法:在农历中,如果二十四节气(十二节气和十二中性气)的中性气在月末下降,那么下个月就没有中性气了70这种有节(节气)无气(中气)的阴历月称为闰月7119年平均有7个闰月72但是二十四节气中的十二节气是如何从十二中气中划分出来的呢?我没有任何数据,所以应该估计一个节气和一个中国气相交73
:(单位CNYear接口使用系统类型=基数;函数decodergregtocndate(dtgreg : datetime): cn date;函数getcollagefromcn(cnYear,cnMonth,cnday : word bleap :布尔值布尔值=Fal se): datetime;函数隔离ctr(dtgreg : datetime):字符串;函数isCNLeap(cn date : cn date):布尔值;实现常量cstDateOrg:Integer=32900//公历1990-01-27的t日期时间表示对应农历1990-01-01 const cstcnyarorg=1990年;const CStcontable :数组[CStconyearorg.WORD=(//无符号16位24402,3730,3366,13614,2647,35542,858,1749,//1997 23401,1865,1683,19099,1323,2651,10926,1386,//2005 32213,2980,2888//2050 //建表方法: //0101 111101010010 高四位是闰月位置,后12位表示大小月,大月30 天,小月29天, //闰月一般算小月,但是有三个特例2017/06,2036/06,2047/05 //对于特例则高四位的闰月位置表示法中的最高为设置为一特殊处理用wLeapNormal变量////2017/06 28330- 61098 2036/06 27947- 60715 2047/05 23133- 55901 //如果希望用汇编,这里有一条信息:农历不会滞后公历2个月74//将公历转换为农历//返回:12位年份四位月份5位日期函数decodergregtocndate(dtgreg : datetime): cn date;var iDayLeave:IntegerwYear,wMonth,wDay:WORDI,j:integerwBigSmallDist,wLeap,wCount,wLeapShift:WORD标签好的;开始结果:=0;iDayLeave :=Trunc(dtGreg)-cstDateOrg;DecodeDate(IncMonth(dtGreg,-1),wYear,wMonth,wDay);如果(iDayLeave 0)或(iDayLeave 22295),则退出;//引发异常75创建("目前只能算1990-01-27以后的");//引发异常76创建("目前只能算2051-02-11以前的");对于i:=低(可压缩)到高(可压缩),请开始wBigSmallDist :=cs contable[I];wLeap :=wBigSmallDist shr 12如果wLeap 12,则开始wLeap :=wLeap和7;wlapsshift :=1;end else wlapsshift :=0;对于j:=1到12,请开始wCount:=(wBigSmallDist和1)29;如果j=wLeap,那么wCount :=wCount-wlapsshift;如果iDayLeave wCount,则开始结果:=(I SHL 9)(j SHL 5)iday lave 1;退出;结束;iDayLeave :=iDayLeave-wCount;如果j=wLeap,则开始wCount:=29瓦时移如果iDayLeave wCount,则开始结果:=(I SHL 9)(j SHL 5)iDayLeave 1(1 SHL 21);退出;结束;iDayLeave :=iDayLeave-wCount;结束;wBigSmallDist :=wBigSm
Q6:紫薇 看看我什么时候结婚 还有钱财 谢谢了 高分追加
另:照片收到了,不很清楚,明天给你发消息!达人却非高人,只是喜欢易经、四柱预测甚至麻衣相 你的八字是:丁卯 己酉 乙酉 己卯 你的五行是:火木 土金 木金 土木 你的生肖是:兔 你是“泉中水”命,你的五行缺水,命属对五行形成弥补,已是完美之态! 你心中出现过让你倾心的男子,不过他不是你的真命天子,有八字推来你的真命天子要在庚寅年辛巳月才真正属于你! 就钱财而言,从今年的整体运势上来看,你虽然在各方面的气势都稍弱了一些,不过幸好有吉星照耀,因此还是可以逢凶化吉、稳住好运77在职场上要维持低调谦虚的行事作风,凡事不自满,就能免去身旁小人的陷害;明年在钱财运势上,好运无法挡,但这并不代表可以一步登天,仍需一步一脚印的苦干实做,所得到的成功才能真正的握在手里78 本人面相更准确一些,有清晰的照片就可以,愿意的话给我回个消息,我把我的邮箱发给你!