可否增加距离所有节气的时间天数,谢谢!
目前只有 int cur_dz; //距冬至的天数 int cur_xz; //距夏至的天数 int cur_lq;//距立秋的天数 int cur_mz ; //距芒种的天数 int cur_xs; //距小暑的天数 如果24节气都增加了,这样计算就非常方便了。
另外:std::vector
原始需求: 在八字排盘的时候,需要知道出生日距离最近节气的时间间隔天数。所以是否可以补充距离24个节气的所有天数。
非常简单 修改 lunar.h lunar.cpp getDayBySolar 便能完成
24 节气非常精准判断和时间计算和 转换可 以从 t3 获得
我建议使用 C 语言 std time_t object 从中实现日期容易 计算和 转换 , 任何时候时分秒钟差距可用 c语言 std 的 difftime 方法得到,天数=difftime/(24x60x60)
例如 加个 t3 time_t vector
std::vector <time_t> cur_jq_cutoff_datetime 在 lunar.h struct Day
然后在
lunar.cpp getDayBySolar 函数 加 t3 time_t vector push_back 在最后三行源代码
day.cur_jq_cutoff_datetime.push_back(t3_ctime);
如果使用上述方法,可以避免更多节气的天数源代码修改.
提议
https://github.com/TSG9876/sxtwl_cpp/pull/3
https://github.com/TSG9876/sxtwl_cpp/pull/4
或者
https://github.com/TSG9876/sxtwl_cpp/pull/1
https://github.com/TSG9876/sxtwl_cpp/pull/2
距24 节气 的天数源代码修改 #1 #2
例如 lunar.h struct Day 加 int cur_dz; //距冬至的天数 0 int cur_xh; // 小寒 1 int cur_dh; //距大寒的天数 2 int cur_lc; //距立春的天数 3
int cur_ys; //雨水 4 int cur_zc; //惊蛰 5 int cur_cf; //春分 6 int cur_qm; //清明 7 int cur_gy; //谷雨 8 int cur_lx; //立夏 9 int cur_xm; //小滿 10
int cur_mz; //距芒种的天数 11 int cur_xz; //距夏至的天数 12 int cur_xs; //距小暑的天数 13 int cur_ds; //大暑 14 int cur_lq; //距立秋的天数 15 int cur_cs; //处暑 16 int cur_bl; // 白露 17 int cur_qf; // 秋分 18 int cur_hl; // 寒露 19 int cur_sj; // 霜降 20 int cur_ld; // 立冬 21 int cur_xx; // 小雪 22 int cur_dx; // 大雪 23
lunar.cpp getDayBySolar 加
day.cur_dz = day.d0 - mSSQ.ZQ[0]; //距冬至的天数 day.cur_xh = day.d0 - mSSQ.ZQ[1]; day.cur_dh = day.d0 - mSSQ.ZQ[2]; //距大寒的天数 day.cur_lc = day.d0 - mSSQ.ZQ[3]; //距立春的天数 day.cur_ys = day.d0 - mSSQ.ZQ[4]; day.cur_zc = day.d0 - mSSQ.ZQ[5]; day.cur_cf = day.d0 - mSSQ.ZQ[6]; day.cur_qm = day.d0 - mSSQ.ZQ[7]; day.cur_gy = day.d0 - mSSQ.ZQ[8]; day.cur_lx = day.d0 - mSSQ.ZQ[9]; day.cur_xm = day.d0 - mSSQ.ZQ[10]; day.cur_mz = day.d0 - mSSQ.ZQ[11]; //距芒种的天数 day.cur_xz = day.d0 - mSSQ.ZQ[12]; //距夏至的天数 day.cur_xs = day.d0 - mSSQ.ZQ[13]; //距小暑的天数 day.cur_ds = day.d0 - mSSQ.ZQ[14]; day.cur_lq = day.d0 - mSSQ.ZQ[15]; //距立秋的天数 day.cur_cs = day.d0 - mSSQ.ZQ[16]; day.cur_bl = day.d0 - mSSQ.ZQ[17]; day.cur_qf = day.d0 - mSSQ.ZQ[18]; day.cur_hl = day.d0 - mSSQ.ZQ[19]; day.cur_sj = day.d0 - mSSQ.ZQ[20]; day.cur_ld = day.d0 - mSSQ.ZQ[21]; day.cur_xx = day.d0 - mSSQ.ZQ[22]; day.cur_dx = day.d0 - mSSQ.ZQ[23];
@TSG9876 不错不错,可以的话,你可以提一个rp过来