Guest:
Register
|
Login
|
Member List
|
Search
|
Statistics
|
FAQ
Language
----------
Simplifed Chinese
Traditional Chinese
English
CnPack Forum
»
CnPack IDE 专家包(CnWizards)
» CnCalendar的BUG?
‹‹ Last Thread
|
Next Thread ››
Poll
Trade
Reward
Activity
Printable Version
|
Email to Friend
|
Subscription
|
Favorites
Subject: CnCalendar的BUG?
飘云!
新警察
UID 67088
Digest Posts 0
Credits 23
Posts 8
点点分 23
Reading Access 10
Registered 2011-7-10
Status Offline
#1
Post at 2011-7-10 08:09
Profile
|
Blog
|
P.M.
CnCalendar的BUG?
例如:
1989年3月5日3时54分
正确四柱应该为:
己巳 丙寅 甲子 丙寅
而控件计算的为:
己巳 丁卯 甲子 丙寅
望大哥回复
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#2
Post at 2011-7-10 22:08
Profile
|
Blog
|
P.M.
我们代码中有针对这方面的处理,看来是有bug,我查一下。
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#3
Post at 2011-7-10 22:31
Profile
|
Blog
|
P.M.
原因是这样的,我们根据节气来区分年月的时候只精确到天,没将当前的小时考虑进来,因此节气当天就直接算入了本月而不是上个月。我们也没找到精确的文档规定月份根据节气的划分是否需要精确到小时分钟,因此就没这样做了。
飘云!
新警察
UID 67088
Digest Posts 0
Credits 23
Posts 8
点点分 23
Reading Access 10
Registered 2011-7-10
Status Offline
#4
Post at 2011-7-11 07:56
Profile
|
Blog
|
P.M.
谢谢大哥回复,参考
http://blog.sina.com.cn/s/blog_599f17d80100c8pq.html
年上起月可知:
立春到惊蛰为寅月,从惊蛰到清明为卯月等。
上例中
1989年3月5日3时54分
前后交节时间为:
雨水※1989-02-19 00:25 惊蛰※1989-03-05 22:35
所以3时是立春至惊蛰之间~ 应该取寅月~
到了22点36 或者说23点的时候,应该取卯月~
是否该如此? 参考其他书籍也是这样来划分的
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#5
Post at 2011-7-18 11:00
Profile
|
Blog
|
P.M.
原来如此。我们可以改改让其更精确。
不过我们移植的节气交接时刻的计算也是有误差的,按作者说精确度在十几分钟,这些误差也会有一定概率影响到月柱乃至年柱的计算。
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#6
Post at 2011-7-18 15:17
Profile
|
Blog
|
P.M.
已经修复了一版。楼主如可访问我们的SVN,可从上取下最新版来使用。
http://cnpack.org/showdetail.php?id=639&lang=zh-cn
飘云!
新警察
UID 67088
Digest Posts 0
Credits 23
Posts 8
点点分 23
Reading Access 10
Registered 2011-7-10
Status Offline
#7
Post at 2011-7-26 23:34
Profile
|
Blog
|
P.M.
谢谢大哥的更新~~
1989年3月5日3时54分
得到正确四柱:
己巳 丙寅 甲子 丙寅
但是
1989年3月5日23时30分
四柱应该为:
己巳 丁卯 乙丑 丙子
而控件显示为:
己巳 丙寅 乙丑 丙子
还是月柱问题~~
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#8
Post at 2011-7-27 20:48
Profile
|
Blog
|
P.M.
你的代码是怎么写的?
我们程序打印1989年3月5日23时的结果如下:
公历日数:726168
等效标准日数:726166
星期:0
9九第3天
星座:双鱼
年:己巳
月:丁卯
日:乙丑
时:丙子
二十八宿:虚/虚日鼠
本日纳音五行:金/海中金
十二建:收
本日节气:惊蛰
本日交节时刻:22 时 35 分
过了这个交节时刻就应该是丁卯,我们Examples里头的程序也是这样显示的。
可以检查一下是否是使用的这个函数获取月柱:
function GetGanZhiFromMonth(AYear, AMonth, ADay, AHour: Integer): Integer;
飘云!
新警察
UID 67088
Digest Posts 0
Credits 23
Posts 8
点点分 23
Reading Access 10
Registered 2011-7-10
Status Offline
#9
Post at 2011-7-28 08:18
Profile
|
Blog
|
P.M.
QUOTE:
原帖由
Passion
于 2011-7-27 20:48 发表
你的代码是怎么写的?
我们程序打印1989年3月5日23时的结果如下:
公历日数:726168
等效标准日数:726166
星期:0
9九第3天
星座:双鱼
年:己巳
月:丁卯
日:乙丑
时:丙子
二十八宿:虚/虚日鼠
本日纳音五行:金/海中金
十二建:收
本日节 ...
感谢~~ 函数用错了。。已解决
GetLunarFromDay 是否考虑要加入时间参数好些? 23时过后是次日子时了,要 inc(LunarDay)
Poll
Trade
Reward
Activity
CnPack Forum
CnPack English Forum
> CnWizards IDE Wizards
> CVSTracNT
> Announcements & Others
All times are GMT++8, the time now is 2024-11-23 05:52
Powered by
Discuz!
5.0.0
© 2001-2006
Comsenz Inc.
Processed in 0.009150 second(s), 9 queries , Gzip enabled
TOP
Clear Cookies
-
Contact Us
-
CnPack Website
-
Archiver
-
WAP
Member's CP Home
Edit Profile
Credits Transaction
Public User Groups
Buddy List
Main
Page Views
User Agents
Posts History
Top Forums
Top Threads
Post Ranking
Credit Ranking
Online Time
Team
Moderation Stats