有问题就有答案
Q1:2021年10月24号到2029年9月30日还有多少天?
还剩2898天,在Excel中非常准确。
Q2:生肖表十二顺序对应年份
十二生肖的起源与动物崇拜有关。据湖北云梦睡虎地和甘肃天水放马滩出土的秦简可知,先秦时期即有比较完整的生肖系统存在。最早记载与现代相同的十二生肖的传世文献是东汉王充的《论衡》。十二生肖是十二地支的形象化代表,即子(鼠)、丑(牛)、寅(虎)、卯(兔)、辰(龙)、巳(蛇)、午(马)、未(羊)、申(猴)、酉(鸡)、戌(狗)、亥(猪),随着历史的发展逐渐融合到相生相克的民间信仰观念,表现在婚姻、人生、年运等,每一种生肖都有丰富的传说,并以此形成一种观念阐释系统,成为民间文化中的形象哲学,如婚配上的属相、庙会祈祷、本命年等。现代,更多人把生肖作为春节的吉祥物,成为娱乐文化活动的象征。生肖作为悠久的民俗文化符号,历代留下了大量描绘生肖形象和象征意义的诗歌、春联、绘画、书画和民间工艺作品。除中国外,世界多国在春节期间发行生肖邮票,以此来表达对中国新年的祝福。轩辕黄帝要选十二动物担任宫廷卫士,猫托老鼠报名,结果老鼠忘了,从此猫见老鼠就寻仇。原本推牛为首,老鼠偷偷爬上牛背占先机。虎和龙不服气,被封为山神和海神,排在牛的后面。兔子不服,要和龙赛跑,兔子跑到龙前面。狗不乐意,一气之下咬伤兔子,被罚倒数第一。蛇、马、羊、猴、鸡之间还经过一番较量,最后猪跑来占据末席
Q3:日全食和月全食多少年一次
全球发生日全食平均每1.5年也会有一次。对于同一地点而言,日全食出现的频率一般为300年左右。大约每一年半就会有一次月全食发生。从地球上看,太阳和月球各自运行的轨迹每隔半年会有一次“相交”,可能发生日食的时间段还比发生月食的时间段更长。一年内可能一次月食都没有,日食却必有两到五次,但不是每次日食发生时都能看到日全食,然而月食一旦发生,处在黑夜中的半个地球都能看到,月全食长达几十分钟乃至几小时,可观测范围和持续时间远大于日全食。所以在同一地点被看到的几率更高,并且在同一地区要看到月全食,平均要等三年的时间。
Q4:为什么润年农历多一个月,而公历只多了一天?
1. 求星期公式 星期=[5+A(实际天数)] mod 7 2. 干支计算公式 六十甲子干支序号,从1-> 59-> 0。 六十甲子干支序号=[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天。 公元308年8月28日的基本天数 B=(308-1)*365+(31+28+31+30+31+30+31+27)=112055+239=112294(天) 这里的(要计算到年的月日天数),用的是公历,月日天数的规则我好 象小学就学过了。哈哈…… C=(计算年-1) div 4 -误差修正值 + fixValue2 fixValue2为0或者1。常值为0,当年数为闰年(公历闰年法)之中的3月 1日之后的为1。 误差修正值推算: 公元元年1月1日至1582年10月14日为0。 1582年10月15日至1699年12月31日为10。 从1701年1月1日起每增加一个世纪累加1,但能被400除尽的世纪不累 加1。此方法推算即可。 --有一个问题,1700年这一年的修正值应为多少呢?算法中正好没有 讲到,但看来应该是10。 例1701年1月1日起误差值为11,而1801年1月1日起误差修正值为12, 而1901年1月1日起误差修正值为13, 但2001年误差修正值仍为13,因为2000年能被400整除,故不累加。而 2101年1月1日起误差修正值为14。 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年后的各节交节时辰。 如2000年雨水交节时辰为16时22分,则2008年雨水交节时辰为14时52 分。 因为16时22分+22时35分=38时57分。38-24=14时。 谁知道公元元年到公元八年的交节日,这个算法就可以实现了。--好 象逆算法可以解决这个问题。谁试试? 农历闰月算法: 农历中,二十四节气(十二节气和十二中气)的中气落在月末的话,下 个月就没有中气。农历将这种有节(节气)无气(中气)的月份规定为闰 月。平均计算,19年有七个闰月。 但二十四个节气的十二节气和十二中气是怎么分的呢?我没有资料, 估记应该是一节气一中气这样交叉。 🙁 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 2. 干支计算公式 六十甲子干支序号,从1-> 59-> 0。 六十甲子干支序号=[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天。 公元308年8月28日的基本天数 B=(308-1)*365+(31+28+31+30+31+30+31+27)=112055+239=112294(天) 这里的(要计算到年的月日天数),用的是公历,月日天数的规则我好 象小学就学过了。哈哈…… C=(计算年-1) div 4 -误差修正值 + fixValue2 fixValue2为0或者1。常值为0,当年数为闰年(公历闰年法)之中的3月 1日之后的为1。 误差修正值推算: 公元元年1月1日至1582年10月14日为0。 1582年10月15日至1699年12月31日为10。 从1701年1月1日起每增加一个世纪累加1,但能被400除尽的世纪不累 加1。此方法推算即可。 --有一个问题,1700年这一年的修正值应为多少呢?算法中正好没有 讲到,但看来应该是10。 例1701年1月1日起误差值为11,而1801年1月1日起误差修正值为12, 而1901年1月1日起误差修正值为13, 但2001年误差修正值仍为13,因为2000年能被400整除,故不累加。而 2101年1月1日起误差修正值为14。 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年后的各节交节时辰。 如2000年雨水交节时辰为16时22分,则2008年雨水交节时辰为14时52 分。 因为16时22分+22时35分=38时57分。38-24=14时。 谁知道公元元年到公元八年的交节日,这个算法就可以实现了。--好 象逆算法可以解决这个问题。谁试试? 农历闰月算法: 农历中,二十四节气(十二节气和十二中气)的中气落在月末的话,下 个月就没有中气。农历将这种有节(节气)无气(中气)的月份规定为闰 月。平均计算,19年有七个闰月。 但二十四个节气的十二节气和十二中气是怎么分的呢?我没有资料, 估记应该是一节气一中气这样交叉。 🙁 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
Q6:紫薇 看看我什么时候结婚 还有钱财 谢谢了 高分追加
另:照片收到了,不很清楚,明天给你发消息!达人却非高人,只是喜欢易经、四柱预测甚至麻衣相 你的八字是:丁卯 己酉 乙酉 己卯 你的五行是:火木 土金 木金 土木 你的生肖是:兔 你是“泉中水”命,你的五行缺水,命属对五行形成弥补,已是完美之态! 你心中出现过让你倾心的男子,不过他不是你的真命天子,有八字推来你的真命天子要在庚寅年辛巳月才真正属于你! 就钱财而言,从今年的整体运势上来看,你虽然在各方面的气势都稍弱了一些,不过幸好有吉星照耀,因此还是可以逢凶化吉、稳住好运。在职场上要维持低调谦虚的行事作风,凡事不自满,就能免去身旁小人的陷害;明年在钱财运势上,好运无法挡,但这并不代表可以一步登天,仍需一步一脚印的苦干实做,所得到的成功才能真正的握在手里。 本人面相更准确一些,有清晰的照片就可以,愿意的话给我回个消息,我把我的邮箱发给你!