以文本方式查看主题 - 中华农历论坛 (http://bbs.nongli.net/index.asp) -- 历法知识 (http://bbs.nongli.net/list.asp?boardid=2) ---- 为什么节气计算的经度是116度而不是120度? (http://bbs.nongli.net/dispbbs.asp?boardid=2&id=72951) |
-- 作者:whatwhy -- 发布时间:2017/4/17 16:26:00 -- 为什么节气计算的经度是116度而不是120度? 对天文历法知识不太懂,从网上搜到的知识, 所有新月和节气出现的时刻的计算以东经120度即东八区标准时为准。但计算1929年以前的阴历时应以北京即东经116度25分的当地时为准。 中国采用北京所在的东八时区的区时作为标准时间,称为北京时间,或称中原标准时间。北京时间并不是北京(东经116.4°)地方的时间,而是东经120°地方的地方时间。 查看寿星万年历,发现节气计算的经度是116度而不是120度,不知道是什么原因? |
-- 作者:hiteyun -- 发布时间:2017/4/17 16:47:00 -- 寿星万年历软件代码里面计算节气用的是东经120°的时间,不知你如何发现是116°? |
-- 作者:whatwhy -- 发布时间:2017/4/17 17:24:00 -- 是这样发现的,把 JS 代码转换为 PHP 代码之后,前提假设万年历的节气是按经度120度为依据呈现度,输入经度 120,本来节气时间应该和寿星万年历保持一致,结果不是,改为116度,才能和寿星万年历的节气时间完全相同。 具体修改过程是这样的, 1.仅仅转换代码,不做修改,因为不懂历法是如何计算的。 2.确保输出结果和寿星万年历一致。输出方式显示为网页。外行人也能核对结果是否一致,即每个节气的具体时间是否完全一致,就能断定是否有误差。 3.在转换成功后的几天之内,测试过多次。后来也用过多次,显示的节气时间完全一致。 4.在此基础上,开发出一个程序,即判断具体时间是在那个节气段,节气之前或节气之后。大多数情况下,没有发现问题,因为距离交节时间不那么近。 5.当时区所在经度为120度时,时间点刚好又在交节点附近,即相差4度之内(120-116),就发现了此问题,需要调整到116度,才能符合寿星万年历的节气时间。 |
-- 作者:whatwhy -- 发布时间:2017/4/17 17:27:00 -- 等一会,提供一个具体时间做说明。 |
-- 作者:whatwhy -- 发布时间:2017/4/17 17:42:00 -- # 寿星万年历上的节气时间: 2017年4月4日 丁酉年 星期二 白羊座 4715年 三月小 初八日 丁酉年 甲辰月 辛酉日 回历[1438年7月7日] JD 2457848(6303) 上弦 02:39:22 定清明 22:17:16 清明 # PHP 万年历上的节气时间 2017年04月4日 三月小 初八 丁酉年 甲辰月 辛酉日 星期二 白羊座 ∪◆ 上弦 02:39:22 定清明 2017-04-04 22:17:16 两者清明的节气时间都是 2017-04-04 22:17:16 # 现在输入时间和经度,这个时间和清明的时间重合 时间:2017-04-04 22:17:16 经度:120.00 显示结果: 真太阳时:2017-04-04 22:14:22 惊蛰:2017-03-05 17:32:40 清明:2017-04-04 22:17:16 真太阳时 22:14:22,清明是 22:17:16 前面没有完全说清楚,这里具体问题是在经度为120度时,输入和清明交节一致的时间,输出的真太阳时和清明交节的时间不一致。 同样的,如果输入 2017-04-04 22:17:18, 真太阳时是 2017-04-04 22:14:24,比清明多几秒,应该是过了清明节气的,但是真太阳时在清明之前,并没有在清明之后。 |
-- 作者:hiteyun -- 发布时间:2017/4/17 17:56:00 -- 寿星软件里计算节气的JS语句为:t=XL.S_aLon_t(W)*36525; return t - dt_T(t) + 8/24。末尾的“8/24”表示在0°经线标准时的基础上加8小时,即得到东八区E120°标准时间。 |
-- 作者:whatwhy -- 发布时间:2017/4/17 18:03:00 -- 其实这个问题和PHP没有关系了,原来寿星万年历自身也有输入经度计算真太阳时的方法。用今天下载的寿星万年历测试: 经度 120 公元 2017年 4月 4日 22:17:16 确定 此刻 [日标]:公历 2017-4-4 儒略日数 2457848 距2000年首6303日 [八字]:丁酉年 癸卯月 辛酉日 己亥时 真太阳 22:14:22 输入经度120度,公元 2017-04-04 22:17:16, 计算结果也是真太阳 22:14:22 在相同经度120度下,万年历上北京时间的清明时间和真太阳下的清明时间不是应该一致的吗? |
-- 作者:hiteyun -- 发布时间:2017/4/17 18:17:00 -- 以下是引用whatwhy在2017-4-17 18:03:00的发言: 平太阳时与真太阳时一般有几分钟差别的。
其实这个问题和PHP没有关系了,原来寿星万年历自身也有输入经度计算真太阳时的方法。用今天下载的寿星万年历测试: 经度 120 公元 2017年 4月 4日 22:17:16 确定 此刻 [日标]:公历 2017-4-4 儒略日数 2457848 距2000年首6303日 [八字]:丁酉年 癸卯月 辛酉日 己亥时 真太阳 22:14:22 输入经度120度,公元 2017-04-04 22:17:16, 计算结果也是真太阳 22:14:22 在相同经度120度下,万年历上北京时间的清明时间和真太阳下的清明时间不是应该一致的吗? |
-- 作者:浪-淘-沙 -- 发布时间:2017/4/17 20:39:00 -- 如果相差4度,则时间相差16分钟。 而你计算出来的,只是相差4分钟左右。 我们通常说的北京时间为东八区的平太阳时。真太阳时与平太阳时之间的偏差为“均时差”。 4月4日这一天的均时差约-3分钟。所以就有你计算得到的这两时刻的不同。 如果你试着计算一下,2018年4月16日(朔),你会发现真太阳时,与平太阳时(北京时间)之间,只差了几秒钟(不到10秒吧)。因为这一天的均时差就是7秒左右(对应当天中午)。 |
-- 作者:浪-淘-沙 -- 发布时间:2017/4/17 20:41:00 -- 有关真太阳时,平太阳时,均时差等名词解释,建议百度查一下。 |