日梭万年历网络版(1983年农历9月22日的新历是)

本文目录
- 1983年农历9月22日的新历是
- 谁是洵贤日历上的洵贤生日是怎么来的
- 求“日梭万年历”网络版源码,或计算24节气方法
- 想找个万年历,能查到几百年之后的
- 日梭万年历的安装运行
- 1950年-2050年的各年春节的公历日期
1983年农历9月22日的新历是
1983年10月27日
星座:天蝎座
二十八星宿:壁日梭万年历
日梭万年历网络版(时间跨度1800年--2100年)
***隐藏网址***
日梭万年历 2006 Beta2(时间跨度1583年--5582年)
***隐藏网址***
谁是洵贤日历上的洵贤生日是怎么来的
万年历中3月21日是洵贤生日 目前网络上比较成熟的农历主要有以下几个:农历月历与世界时间:由台湾林洵贤制作维护,源码公开,但应该不是OSI认可的那种开源软件,通过阅读其程序,再对照关于农历的描述,可大致对农历有所了解。此农历支持1900~2100年,可用Firefox和IE浏览。 日梭万年历网络版:放在国家授时中心的网站上,免费软件,但没有源码,除了看一下或者手工收集其数据,没有任何参考价值。 中国农历函数库:知来者三千年历时查询程序,由aqyw制作,以GPL协议公布。据说其历法计算采用的算法非常准确,可支持3000年。 0
求“日梭万年历”网络版源码,或计算24节气方法
struct ConvDate
{
int Source;
int SolarYear;
int SolarMonth;
int SolarDate;
int LunarYear;
int LunarMonth;
int LunarDate;
int Weekday;
int Kan;
int Chih;
};
unsigned __int64 m_ui64SolarTerms;
unsigned __int64 m_ui64MonthDays;
m_ui64MonthDays = 0ui64;
m_ui64MonthDays = 31ui64;
m_ui64MonthDays = 28ui64;
m_ui64MonthDays = 31ui64;
m_ui64MonthDays = 30ui64;
m_ui64MonthDays = 31ui64;
m_ui64MonthDays = 30ui64;
m_ui64MonthDays = 31ui64;
m_ui64MonthDays = 31ui64;
m_ui64MonthDays = 30ui64;
m_ui64MonthDays = 31ui64;
m_ui64MonthDays = 30ui64;
m_ui64MonthDays = 31ui64;
m_ui64SolarTerms = 0ui64;
m_ui64SolarTerms = 21208ui64;
m_ui64SolarTerms = 42467ui64;
m_ui64SolarTerms = 63836ui64;
m_ui64SolarTerms = 85337ui64;
m_ui64SolarTerms = 107014ui64;
m_ui64SolarTerms = 128867ui64;
m_ui64SolarTerms = 150921ui64;
m_ui64SolarTerms = 173149ui64;
m_ui64SolarTerms = 195551ui64;
m_ui64SolarTerms = 218072ui64;
m_ui64SolarTerms = 240693ui64;
m_ui64SolarTerms = 263343ui64;
m_ui64SolarTerms = 285989ui64;
m_ui64SolarTerms = 308563ui64;
m_ui64SolarTerms = 331033ui64;
m_ui64SolarTerms = 353350ui64;
m_ui64SolarTerms = 375494ui64;
m_ui64SolarTerms = 397447ui64;
m_ui64SolarTerms = 419210ui64;
m_ui64SolarTerms = 440795ui64;
m_ui64SolarTerms = 462224ui64;
m_ui64SolarTerms = 483532ui64;
m_ui64SolarTerms = 504758ui64;
/* 24节气计算 */
int __fastcall IsLeapYear(int iYear)
{
if ((iYear & 3) != 0)
{
return 0;
}
else if (iYear % 100 != 0)
{
return 1;
}
else if (iYear % 400 == 0)
{
return 1;
}
else
{
return 0;
}
}
int __fastcall TheSolarTerm(int iYear, int n)
{
unsigned __int64 k;
unsigned __int64 ddate_utc = 22085493000000ui64;
unsigned __int64 doffdate, dadddate;
doffdate = m_ui64SolarTerms * 600000ui64;
doffdate += static_cast《unsigned __int64》(iYear - 1900) * 315569259747ui64;
doffdate -= ddate_utc;
doffdate /= 864000000ui64; //86400: 60 * 60 * 24 * 1000
int i = 1969;
dadddate = 0ui64;
while (dadddate 《 doffdate)
{
i++;
k = dadddate;
dadddate += 365ui64 + static_cast《unsigned __int64》(IsLeapYear(i));
};
if (dadddate 》 doffdate)
{
int j = 0;
dadddate = k;
while (dadddate 《 doffdate && j 《 12)
{
j++;
k = dadddate;
dadddate += m_ui64MonthDays;
if (j == 2 && (IsLeapYear(i) != 0))
{
dadddate++;
}
};
return static_cast《int》(doffdate - k + 1ui64);
}
else // j = doffdate
{
return 1;
}
}
int CalConv(struct ConvDate &cd)
{
int leap, d, sm, y, im, l1, l2, acc, i, lm, kc;
if (cd.Source == 0) /* Solar */
{
if (cd.SolarYear 《= FIRSTYEAR || cd.SolarYear 》 LASTYEAR)
{
return 1;
}
sm = cd.SolarMonth - 1;
if (sm 《 0 || sm 》 11)
{
return 2;
}
leap = GetLeap(cd.SolarYear);
d = (sm == 1) ? (leap + 28) : SolarCal;
if (cd.SolarDate 《 1 || cd.SolarDate 》 d)
{
return 3;
}
y = cd.SolarYear - FIRSTYEAR;
acc = SolarDays + cd.SolarDate;
cd.Weekday = (acc + LunarCal.BaseWeekday) % 7;
kc = acc + LunarCal.BaseKanChih;
cd.Kan = kc % 10;
cd.Chih = kc % 12;
if (acc 《= LunarCal.BaseDays)
{
y--;
cd.LunarYear = cd.SolarYear - 1;
leap = GetLeap(cd.LunarYear);
sm += 12;
acc = SolarDays + cd.SolarDate;
}
else
{
cd.LunarYear = cd.SolarYear;
}
l1 = LunarCal.BaseDays;
for (i = 0; i 《 13; i++)
{
l2 = l1 + LunarCal + 29;
if (acc 《= l2)
{
break;
}
l1 = l2;
}
cd.LunarMonth = i + 1;
cd.LunarDate = acc - l1;
im = LunarCal.Intercalation;
if (im != 0 && cd.LunarMonth 》 im)
{
cd.LunarMonth--;
if (cd.LunarMonth == im)
{
cd.LunarMonth = -im;
}
}
if (cd.LunarMonth 》 12)
{
cd.LunarMonth -= 12;
}
}
else /* Lunar */
{
if (cd.LunarYear 《 FIRSTYEAR || cd.LunarYear 》= LASTYEAR)
{
return 1;
}
y = cd.LunarYear - FIRSTYEAR;
im = LunarCal.Intercalation;
lm = cd.LunarMonth;
if (lm 《 0)
{
if (lm != -im)
{
return 2;
}
}
else if (lm 《 1 || lm 》 12)
{
return 2;
}
if (im != 0)
{
if (lm 》 im)
{
lm++;
}
else if (lm == -im)
{
lm = im + 1;
}
}
lm--;
if (cd.LunarDate 》 LunarCal + 29)
{
return 3;
}
acc = LunarCal.BaseDays;
for (i = 0; i 《 lm; i++)
{
acc += LunarCal + 29;
}
acc += cd.LunarDate;
leap = GetLeap(cd.LunarYear);
for (i = 13; i 》= 0; i--)
{
if (acc 》 SolarDays)
{
break;
}
}
cd.SolarDate = acc - SolarDays;
if (i 《= 11)
{
cd.SolarYear = cd.LunarYear;
cd.SolarMonth = i + 1;
}
else
{
cd.SolarYear = cd.LunarYear + 1;
cd.SolarMonth = i - 11;
}
leap = GetLeap(cd.SolarYear);
y = cd.SolarYear - FIRSTYEAR;
acc = SolarDays + cd.SolarDate;
cd.Weekday = (acc + LunarCal.BaseWeekday) % 7;
kc = acc + LunarCal.BaseKanChih;
cd.Kan = kc % 10;
cd.Chih = kc % 12;
}
return 0;
}
想找个万年历,能查到几百年之后的
请下载《日梭万年历》
***隐藏网址***
《日梭万年历》是目前网上最权威、最精确的万年历。
可查1583-5182
年共3500多年。
内容包括:
阴历、阳历、伊斯兰历、儒略日换算,两个日期间的天数;
年、月、日、时的干支记法;
24节气、12星座、数伏数九,入梅出梅,节日和纪念日;
日食月食、月相:
各地经纬度,日出日落时间;
世界时区及日月位置:
日梭万年历的安装运行
该程序为纯绿色软件,不需安装,只有一个程序文件,拷入任何一个文件夹后就可运行,运行时也不会在注册表中写入任何信息。如要删除,只需简单地删除程序文件即可。
现在网络上也出现了很多网络版,查询更方便了。如:日梭万年历网络版
V2007
日梭万年历标准版为免费软件,您可以任意使用、拷贝或传播,但不得对程序作任何修改或反编译,不得将程序用于商业目的。您如果拷贝或分发本程序,必须包含程序和本说明文件。在使用程序中的数据之前,请仔细阅读程序中的“帮助”信息。如需查询更长跨度年代的万年历,请直接与研制人:刘安国教授联系。
1950年-2050年的各年春节的公历日期
2006年1月29号春节,并无什么算法,农历月大月小(大月30天,小月29天)完全根据月亮实际视运动情况而定:以朔日为初一,以冬至所在月为十一月,大致19年7闰,公历实际一年365或366天,很接近回归年,故每19年公历农历对照日期大致相同

更多文章:
折800怎么了(折800怎么使用积分抽奖 折800积分抽奖使用图文步骤)
2026年9月7日 11:20








