求用vb做万年历 要求输入一个日期 得到星期节日星座节气
发布网友
发布时间:2022-05-07 21:14
我来回答
共3个回答
热心网友
时间:2023-11-13 07:36
分数太少了,呵呵,呵呵
另外的农历,是更好地做
用的printf打印功能目录,切换来完成调用子函数很多次了,再加上大循环
日历显示,这是相对简单的,是计算的一年的第一天是星期可以
原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多
您输入的一年,除以400,计算,然后在今年剩下的天数计算量会小很多
所以在今年的第一天是星期计算
最好做的一个子功能来实现这一功能,返回值是今年的几个星期的第一天,后者可用于
下一个打印子功能是一个不错的选择,
设置一个全局数组包含该月的天数来确定一个,如果在2月的天数 BR />这里有一个技巧,就是设定一个变量来保存每月的最后一天,一周,因为它是连续的,所以在下个月的第一天是星期几被很好地定义,是打印几个空格发生这个变量的值,哦
日期星期有几个还不错的事,知道在今年的第一天,然后是一周的第一天的日期,今年的差一些美好的一天,使用for循环,可以计算出
农历这做的不好,你可以看看百度,一种子功能,您可以参考 a>
后面两个函数,读取和写入文件,很简单,套用固定格式的文件可以变化不大,
热心网友
时间:2023-11-13 07:36
农历和阳历19年是一致的。 (有时可能会相差一两天,这将是大致一致的。)
准确的日历,你可以尝试一下中国的日历。访问互联网,可以查询。
网址查看个人档案
关于中国农历的是为您提供数千年前在日历查询,可以查询阳历和中国农历日期,节气的向上和向下各种节日的日历内容。农历节气,太阳和月亮新月(第一批)和200年的范围内精度在几秒钟内,向前(尽可能公元5000年),精度几分钟。
节气,太阳和月亮月亮在精确的时间可能发生在午夜时分,所以如果日历的精确度不高,误差过大,然后计算出的实际日期可能会糟糕的一天,例如:在2008年1月21日大寒0:43,计算的误差将是1月20日误做的大寒。提供准确的关于中国农历的日历查询是一个非常高的精度。
热心网友
时间:2023-11-13 07:36
分数太少了,呵呵,呵呵
另外的农历,是更好地做
用的printf打印功能目录,切换来完成调用子函数很多次了,再加上大循环
日历显示,这是相对简单的,是计算的一年的第一天是星期可以
原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多
您输入的一年,除以400,计算,然后在今年剩下的天数计算量会小很多
所以在今年的第一天是星期计算
最好做的一个子功能来实现这一功能,返回值是今年的几个星期的第一天,后者可用于
下一个打印子功能是一个不错的选择,
设置一个全局数组包含该月的天数来确定一个,如果在2月的天数 BR />这里有一个技巧,就是设定一个变量来保存每月的最后一天,一周,因为它是连续的,所以在下个月的第一天是星期几被很好地定义,是打印几个空格发生这个变量的值,哦
日期星期有几个还不错的事,知道在今年的第一天,然后是一周的第一天的日期,今年的差一些美好的一天,使用for循环,可以计算出
农历这做的不好,你可以看看百度,一种子功能,您可以参考 a>
后面两个函数,读取和写入文件,很简单,套用固定格式的文件可以变化不大,
热心网友
时间:2023-11-13 07:36
农历和阳历19年是一致的。 (有时可能会相差一两天,这将是大致一致的。)
准确的日历,你可以尝试一下中国的日历。访问互联网,可以查询。
网址查看个人档案
关于中国农历的是为您提供数千年前在日历查询,可以查询阳历和中国农历日期,节气的向上和向下各种节日的日历内容。农历节气,太阳和月亮新月(第一批)和200年的范围内精度在几秒钟内,向前(尽可能公元5000年),精度几分钟。
节气,太阳和月亮月亮在精确的时间可能发生在午夜时分,所以如果日历的精确度不高,误差过大,然后计算出的实际日期可能会糟糕的一天,例如:在2008年1月21日大寒0:43,计算的误差将是1月20日误做的大寒。提供准确的关于中国农历的日历查询是一个非常高的精度。
热心网友
时间:2023-11-13 07:37
//====================================== 返回农历 y年的总天数
function lYearDays(y) {
var i, sum = 348;
for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;
return(sum+leapDays(y));
}
//====================================== 返回农历 y年闰月的天数
function leapDays(y) {
if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29);
else return(0);
}
//====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
var lm = lunarInfo[y-1900] & 0xf;
return(lm==0xf?0:lm);
}
//====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
//====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function Lunar(objDate) {
var i, leap=0, temp=0;
var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
for(i=1900; i<2100 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
if(offset<0) { offset+=temp; i--; }
this.year = i;
leap = leapMonth(i); //闰哪个月
this.isLeap = false;
for(i=1; i<13 && offset>0; i++) {
//闰月
if(leap>0 && i==(leap+1) && this.isLeap==false)
{ --i; this.isLeap = true; temp = leapDays(this.year); }
else
{ temp = monthDays(this.year, i); }
//解除闰月
if(this.isLeap==true && i==(leap+1)) this.isLeap = false;
offset -= temp;
}
if(offset==0 && leap>0 && i==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --i; }
if(offset<0){ offset += temp; --i; }
this.month = i;
this.day = offset + 1;
}
//==============================返回公历 y年某m+1月的天数
function solarDays(y,m) {
if(m==1)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
else
return(solarMonth[m]);
}
//============================== 传入 offset 返回干支, 0=甲子
function cyclical(num) {
return(Gan[num%10]+Zhi[num%12]);
}
//============================== 阴历属性
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {
this.isToday = false;
//瓣句
this.sYear = sYear; //公元年4位数字
this.sMonth = sMonth; //公元月数字
this.sDay = sDay; //公元日数字
this.week = week; //星期, 1个中文
//农历
this.lYear = lYear; //公元年4位数字
this.lMonth = lMonth; //农历月数字
this.lDay = lDay; //农历日数字
this.isLeap = isLeap; //是否为农历闰月?
//八字
this.cYear = cYear; //年柱, 2个中文
this.cMonth = cMonth; //月柱, 2个中文
this.cDay = cDay; //日柱, 2个中文
this.color = '';
this.lunarFestival = ''; //农历节日
this.solarFestival = ''; //公历节日
this.solarTerms = ''; //节气
}追问谢谢哈 有没有作好的万年历了?
热心网友
时间:2023-11-13 07:37
//====================================== 返回农历 y年的总天数
function lYearDays(y) {
var i, sum = 348;
for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;
return(sum+leapDays(y));
}
//====================================== 返回农历 y年闰月的天数
function leapDays(y) {
if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29);
else return(0);
}
//====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
var lm = lunarInfo[y-1900] & 0xf;
return(lm==0xf?0:lm);
}
//====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
//====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function Lunar(objDate) {
var i, leap=0, temp=0;
var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
for(i=1900; i<2100 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
if(offset<0) { offset+=temp; i--; }
this.year = i;
leap = leapMonth(i); //闰哪个月
this.isLeap = false;
for(i=1; i<13 && offset>0; i++) {
//闰月
if(leap>0 && i==(leap+1) && this.isLeap==false)
{ --i; this.isLeap = true; temp = leapDays(this.year); }
else
{ temp = monthDays(this.year, i); }
//解除闰月
if(this.isLeap==true && i==(leap+1)) this.isLeap = false;
offset -= temp;
}
if(offset==0 && leap>0 && i==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --i; }
if(offset<0){ offset += temp; --i; }
this.month = i;
this.day = offset + 1;
}
//==============================返回公历 y年某m+1月的天数
function solarDays(y,m) {
if(m==1)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
else
return(solarMonth[m]);
}
//============================== 传入 offset 返回干支, 0=甲子
function cyclical(num) {
return(Gan[num%10]+Zhi[num%12]);
}
//============================== 阴历属性
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {
this.isToday = false;
//瓣句
this.sYear = sYear; //公元年4位数字
this.sMonth = sMonth; //公元月数字
this.sDay = sDay; //公元日数字
this.week = week; //星期, 1个中文
//农历
this.lYear = lYear; //公元年4位数字
this.lMonth = lMonth; //农历月数字
this.lDay = lDay; //农历日数字
this.isLeap = isLeap; //是否为农历闰月?
//八字
this.cYear = cYear; //年柱, 2个中文
this.cMonth = cMonth; //月柱, 2个中文
this.cDay = cDay; //日柱, 2个中文
this.color = '';
this.lunarFestival = ''; //农历节日
this.solarFestival = ''; //公历节日
this.solarTerms = ''; //节气
}追问谢谢哈 有没有作好的万年历了?
热心网友
时间:2023-11-13 07:36
分数太少了,呵呵,呵呵
另外的农历,是更好地做
用的printf打印功能目录,切换来完成调用子函数很多次了,再加上大循环
日历显示,这是相对简单的,是计算的一年的第一天是星期可以
原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多
您输入的一年,除以400,计算,然后在今年剩下的天数计算量会小很多
所以在今年的第一天是星期计算
最好做的一个子功能来实现这一功能,返回值是今年的几个星期的第一天,后者可用于
下一个打印子功能是一个不错的选择,
设置一个全局数组包含该月的天数来确定一个,如果在2月的天数 BR />这里有一个技巧,就是设定一个变量来保存每月的最后一天,一周,因为它是连续的,所以在下个月的第一天是星期几被很好地定义,是打印几个空格发生这个变量的值,哦
日期星期有几个还不错的事,知道在今年的第一天,然后是一周的第一天的日期,今年的差一些美好的一天,使用for循环,可以计算出
农历这做的不好,你可以看看百度,一种子功能,您可以参考 a>
后面两个函数,读取和写入文件,很简单,套用固定格式的文件可以变化不大,
热心网友
时间:2023-11-13 07:36
农历和阳历19年是一致的。 (有时可能会相差一两天,这将是大致一致的。)
准确的日历,你可以尝试一下中国的日历。访问互联网,可以查询。
网址查看个人档案
关于中国农历的是为您提供数千年前在日历查询,可以查询阳历和中国农历日期,节气的向上和向下各种节日的日历内容。农历节气,太阳和月亮新月(第一批)和200年的范围内精度在几秒钟内,向前(尽可能公元5000年),精度几分钟。
节气,太阳和月亮月亮在精确的时间可能发生在午夜时分,所以如果日历的精确度不高,误差过大,然后计算出的实际日期可能会糟糕的一天,例如:在2008年1月21日大寒0:43,计算的误差将是1月20日误做的大寒。提供准确的关于中国农历的日历查询是一个非常高的精度。
热心网友
时间:2023-11-13 07:36
分数太少了,呵呵,呵呵
另外的农历,是更好地做
用的printf打印功能目录,切换来完成调用子函数很多次了,再加上大循环
日历显示,这是相对简单的,是计算的一年的第一天是星期可以
原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多
您输入的一年,除以400,计算,然后在今年剩下的天数计算量会小很多
所以在今年的第一天是星期计算
最好做的一个子功能来实现这一功能,返回值是今年的几个星期的第一天,后者可用于
下一个打印子功能是一个不错的选择,
设置一个全局数组包含该月的天数来确定一个,如果在2月的天数 BR />这里有一个技巧,就是设定一个变量来保存每月的最后一天,一周,因为它是连续的,所以在下个月的第一天是星期几被很好地定义,是打印几个空格发生这个变量的值,哦
日期星期有几个还不错的事,知道在今年的第一天,然后是一周的第一天的日期,今年的差一些美好的一天,使用for循环,可以计算出
农历这做的不好,你可以看看百度,一种子功能,您可以参考 a>
后面两个函数,读取和写入文件,很简单,套用固定格式的文件可以变化不大,
热心网友
时间:2023-11-13 07:36
农历和阳历19年是一致的。 (有时可能会相差一两天,这将是大致一致的。)
准确的日历,你可以尝试一下中国的日历。访问互联网,可以查询。
网址查看个人档案
关于中国农历的是为您提供数千年前在日历查询,可以查询阳历和中国农历日期,节气的向上和向下各种节日的日历内容。农历节气,太阳和月亮新月(第一批)和200年的范围内精度在几秒钟内,向前(尽可能公元5000年),精度几分钟。
节气,太阳和月亮月亮在精确的时间可能发生在午夜时分,所以如果日历的精确度不高,误差过大,然后计算出的实际日期可能会糟糕的一天,例如:在2008年1月21日大寒0:43,计算的误差将是1月20日误做的大寒。提供准确的关于中国农历的日历查询是一个非常高的精度。
热心网友
时间:2023-11-13 07:37
//====================================== 返回农历 y年的总天数
function lYearDays(y) {
var i, sum = 348;
for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;
return(sum+leapDays(y));
}
//====================================== 返回农历 y年闰月的天数
function leapDays(y) {
if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29);
else return(0);
}
//====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
var lm = lunarInfo[y-1900] & 0xf;
return(lm==0xf?0:lm);
}
//====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
//====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function Lunar(objDate) {
var i, leap=0, temp=0;
var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
for(i=1900; i<2100 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
if(offset<0) { offset+=temp; i--; }
this.year = i;
leap = leapMonth(i); //闰哪个月
this.isLeap = false;
for(i=1; i<13 && offset>0; i++) {
//闰月
if(leap>0 && i==(leap+1) && this.isLeap==false)
{ --i; this.isLeap = true; temp = leapDays(this.year); }
else
{ temp = monthDays(this.year, i); }
//解除闰月
if(this.isLeap==true && i==(leap+1)) this.isLeap = false;
offset -= temp;
}
if(offset==0 && leap>0 && i==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --i; }
if(offset<0){ offset += temp; --i; }
this.month = i;
this.day = offset + 1;
}
//==============================返回公历 y年某m+1月的天数
function solarDays(y,m) {
if(m==1)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
else
return(solarMonth[m]);
}
//============================== 传入 offset 返回干支, 0=甲子
function cyclical(num) {
return(Gan[num%10]+Zhi[num%12]);
}
//============================== 阴历属性
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {
this.isToday = false;
//瓣句
this.sYear = sYear; //公元年4位数字
this.sMonth = sMonth; //公元月数字
this.sDay = sDay; //公元日数字
this.week = week; //星期, 1个中文
//农历
this.lYear = lYear; //公元年4位数字
this.lMonth = lMonth; //农历月数字
this.lDay = lDay; //农历日数字
this.isLeap = isLeap; //是否为农历闰月?
//八字
this.cYear = cYear; //年柱, 2个中文
this.cMonth = cMonth; //月柱, 2个中文
this.cDay = cDay; //日柱, 2个中文
this.color = '';
this.lunarFestival = ''; //农历节日
this.solarFestival = ''; //公历节日
this.solarTerms = ''; //节气
}追问谢谢哈 有没有作好的万年历了?
热心网友
时间:2023-11-13 07:37
//====================================== 返回农历 y年的总天数
function lYearDays(y) {
var i, sum = 348;
for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;
return(sum+leapDays(y));
}
//====================================== 返回农历 y年闰月的天数
function leapDays(y) {
if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29);
else return(0);
}
//====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
var lm = lunarInfo[y-1900] & 0xf;
return(lm==0xf?0:lm);
}
//====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
//====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function Lunar(objDate) {
var i, leap=0, temp=0;
var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
for(i=1900; i<2100 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
if(offset<0) { offset+=temp; i--; }
this.year = i;
leap = leapMonth(i); //闰哪个月
this.isLeap = false;
for(i=1; i<13 && offset>0; i++) {
//闰月
if(leap>0 && i==(leap+1) && this.isLeap==false)
{ --i; this.isLeap = true; temp = leapDays(this.year); }
else
{ temp = monthDays(this.year, i); }
//解除闰月
if(this.isLeap==true && i==(leap+1)) this.isLeap = false;
offset -= temp;
}
if(offset==0 && leap>0 && i==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --i; }
if(offset<0){ offset += temp; --i; }
this.month = i;
this.day = offset + 1;
}
//==============================返回公历 y年某m+1月的天数
function solarDays(y,m) {
if(m==1)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
else
return(solarMonth[m]);
}
//============================== 传入 offset 返回干支, 0=甲子
function cyclical(num) {
return(Gan[num%10]+Zhi[num%12]);
}
//============================== 阴历属性
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {
this.isToday = false;
//瓣句
this.sYear = sYear; //公元年4位数字
this.sMonth = sMonth; //公元月数字
this.sDay = sDay; //公元日数字
this.week = week; //星期, 1个中文
//农历
this.lYear = lYear; //公元年4位数字
this.lMonth = lMonth; //农历月数字
this.lDay = lDay; //农历日数字
this.isLeap = isLeap; //是否为农历闰月?
//八字
this.cYear = cYear; //年柱, 2个中文
this.cMonth = cMonth; //月柱, 2个中文
this.cDay = cDay; //日柱, 2个中文
this.color = '';
this.lunarFestival = ''; //农历节日
this.solarFestival = ''; //公历节日
this.solarTerms = ''; //节气
}追问谢谢哈 有没有作好的万年历了?
热心网友
时间:2023-11-13 07:36
分数太少了,呵呵,呵呵
另外的农历,是更好地做
用的printf打印功能目录,切换来完成调用子函数很多次了,再加上大循环
日历显示,这是相对简单的,是计算的一年的第一天是星期可以
原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多
您输入的一年,除以400,计算,然后在今年剩下的天数计算量会小很多
所以在今年的第一天是星期计算
最好做的一个子功能来实现这一功能,返回值是今年的几个星期的第一天,后者可用于
下一个打印子功能是一个不错的选择,
设置一个全局数组包含该月的天数来确定一个,如果在2月的天数 BR />这里有一个技巧,就是设定一个变量来保存每月的最后一天,一周,因为它是连续的,所以在下个月的第一天是星期几被很好地定义,是打印几个空格发生这个变量的值,哦
日期星期有几个还不错的事,知道在今年的第一天,然后是一周的第一天的日期,今年的差一些美好的一天,使用for循环,可以计算出
农历这做的不好,你可以看看百度,一种子功能,您可以参考 a>
后面两个函数,读取和写入文件,很简单,套用固定格式的文件可以变化不大,
热心网友
时间:2023-11-13 07:36
农历和阳历19年是一致的。 (有时可能会相差一两天,这将是大致一致的。)
准确的日历,你可以尝试一下中国的日历。访问互联网,可以查询。
网址查看个人档案
关于中国农历的是为您提供数千年前在日历查询,可以查询阳历和中国农历日期,节气的向上和向下各种节日的日历内容。农历节气,太阳和月亮新月(第一批)和200年的范围内精度在几秒钟内,向前(尽可能公元5000年),精度几分钟。
节气,太阳和月亮月亮在精确的时间可能发生在午夜时分,所以如果日历的精确度不高,误差过大,然后计算出的实际日期可能会糟糕的一天,例如:在2008年1月21日大寒0:43,计算的误差将是1月20日误做的大寒。提供准确的关于中国农历的日历查询是一个非常高的精度。
热心网友
时间:2023-11-13 07:37
//====================================== 返回农历 y年的总天数
function lYearDays(y) {
var i, sum = 348;
for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;
return(sum+leapDays(y));
}
//====================================== 返回农历 y年闰月的天数
function leapDays(y) {
if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29);
else return(0);
}
//====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
var lm = lunarInfo[y-1900] & 0xf;
return(lm==0xf?0:lm);
}
//====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
//====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function Lunar(objDate) {
var i, leap=0, temp=0;
var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
for(i=1900; i<2100 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
if(offset<0) { offset+=temp; i--; }
this.year = i;
leap = leapMonth(i); //闰哪个月
this.isLeap = false;
for(i=1; i<13 && offset>0; i++) {
//闰月
if(leap>0 && i==(leap+1) && this.isLeap==false)
{ --i; this.isLeap = true; temp = leapDays(this.year); }
else
{ temp = monthDays(this.year, i); }
//解除闰月
if(this.isLeap==true && i==(leap+1)) this.isLeap = false;
offset -= temp;
}
if(offset==0 && leap>0 && i==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --i; }
if(offset<0){ offset += temp; --i; }
this.month = i;
this.day = offset + 1;
}
//==============================返回公历 y年某m+1月的天数
function solarDays(y,m) {
if(m==1)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
else
return(solarMonth[m]);
}
//============================== 传入 offset 返回干支, 0=甲子
function cyclical(num) {
return(Gan[num%10]+Zhi[num%12]);
}
//============================== 阴历属性
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {
this.isToday = false;
//瓣句
this.sYear = sYear; //公元年4位数字
this.sMonth = sMonth; //公元月数字
this.sDay = sDay; //公元日数字
this.week = week; //星期, 1个中文
//农历
this.lYear = lYear; //公元年4位数字
this.lMonth = lMonth; //农历月数字
this.lDay = lDay; //农历日数字
this.isLeap = isLeap; //是否为农历闰月?
//八字
this.cYear = cYear; //年柱, 2个中文
this.cMonth = cMonth; //月柱, 2个中文
this.cDay = cDay; //日柱, 2个中文
this.color = '';
this.lunarFestival = ''; //农历节日
this.solarFestival = ''; //公历节日
this.solarTerms = ''; //节气
}追问谢谢哈 有没有作好的万年历了?
热心网友
时间:2023-11-13 07:36
分数太少了,呵呵,呵呵
另外的农历,是更好地做
用的printf打印功能目录,切换来完成调用子函数很多次了,再加上大循环
日历显示,这是相对简单的,是计算的一年的第一天是星期可以
原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多
您输入的一年,除以400,计算,然后在今年剩下的天数计算量会小很多
所以在今年的第一天是星期计算
最好做的一个子功能来实现这一功能,返回值是今年的几个星期的第一天,后者可用于
下一个打印子功能是一个不错的选择,
设置一个全局数组包含该月的天数来确定一个,如果在2月的天数 BR />这里有一个技巧,就是设定一个变量来保存每月的最后一天,一周,因为它是连续的,所以在下个月的第一天是星期几被很好地定义,是打印几个空格发生这个变量的值,哦
日期星期有几个还不错的事,知道在今年的第一天,然后是一周的第一天的日期,今年的差一些美好的一天,使用for循环,可以计算出
农历这做的不好,你可以看看百度,一种子功能,您可以参考 a>
后面两个函数,读取和写入文件,很简单,套用固定格式的文件可以变化不大,
热心网友
时间:2023-11-13 07:36
农历和阳历19年是一致的。 (有时可能会相差一两天,这将是大致一致的。)
准确的日历,你可以尝试一下中国的日历。访问互联网,可以查询。
网址查看个人档案
关于中国农历的是为您提供数千年前在日历查询,可以查询阳历和中国农历日期,节气的向上和向下各种节日的日历内容。农历节气,太阳和月亮新月(第一批)和200年的范围内精度在几秒钟内,向前(尽可能公元5000年),精度几分钟。
节气,太阳和月亮月亮在精确的时间可能发生在午夜时分,所以如果日历的精确度不高,误差过大,然后计算出的实际日期可能会糟糕的一天,例如:在2008年1月21日大寒0:43,计算的误差将是1月20日误做的大寒。提供准确的关于中国农历的日历查询是一个非常高的精度。
热心网友
时间:2023-11-13 07:37
//====================================== 返回农历 y年的总天数
function lYearDays(y) {
var i, sum = 348;
for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0;
return(sum+leapDays(y));
}
//====================================== 返回农历 y年闰月的天数
function leapDays(y) {
if(leapMonth(y)) return( (lunarInfo[y-1899]&0xf)==0xf? 30: 29);
else return(0);
}
//====================================== 返回农历 y年闰哪个月 1-12 , 没闰返回 0
function leapMonth(y) {
var lm = lunarInfo[y-1900] & 0xf;
return(lm==0xf?0:lm);
}
//====================================== 返回农历 y年m月的总天数
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
//====================================== 算出农历, 传入日期控件, 返回农历日期控件
// 该控件属性有 .year .month .day .isLeap
function Lunar(objDate) {
var i, leap=0, temp=0;
var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
for(i=1900; i<2100 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
if(offset<0) { offset+=temp; i--; }
this.year = i;
leap = leapMonth(i); //闰哪个月
this.isLeap = false;
for(i=1; i<13 && offset>0; i++) {
//闰月
if(leap>0 && i==(leap+1) && this.isLeap==false)
{ --i; this.isLeap = true; temp = leapDays(this.year); }
else
{ temp = monthDays(this.year, i); }
//解除闰月
if(this.isLeap==true && i==(leap+1)) this.isLeap = false;
offset -= temp;
}
if(offset==0 && leap>0 && i==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --i; }
if(offset<0){ offset += temp; --i; }
this.month = i;
this.day = offset + 1;
}
//==============================返回公历 y年某m+1月的天数
function solarDays(y,m) {
if(m==1)
return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28);
else
return(solarMonth[m]);
}
//============================== 传入 offset 返回干支, 0=甲子
function cyclical(num) {
return(Gan[num%10]+Zhi[num%12]);
}
//============================== 阴历属性
function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) {
this.isToday = false;
//瓣句
this.sYear = sYear; //公元年4位数字
this.sMonth = sMonth; //公元月数字
this.sDay = sDay; //公元日数字
this.week = week; //星期, 1个中文
//农历
this.lYear = lYear; //公元年4位数字
this.lMonth = lMonth; //农历月数字
this.lDay = lDay; //农历日数字
this.isLeap = isLeap; //是否为农历闰月?
//八字
this.cYear = cYear; //年柱, 2个中文
this.cMonth = cMonth; //月柱, 2个中文
this.cDay = cDay; //日柱, 2个中文
this.color = '';
this.lunarFestival = ''; //农历节日
this.solarFestival = ''; //公历节日
this.solarTerms = ''; //节气
}追问谢谢哈 有没有作好的万年历了?
热心网友
时间:2023-11-13 07:36
分数太少了,呵呵,呵呵
另外的农历,是更好地做
用的printf打印功能目录,切换来完成调用子函数很多次了,再加上大循环
日历显示,这是相对简单的,是计算的一年的第一天是星期可以
原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多
您输入的一年,除以400,计算,然后在今年剩下的天数计算量会小很多
所以在今年的第一天是星期计算
最好做的一个子功能来实现这一功能,返回值是今年的几个星期的第一天,后者可用于
下一个打印子功能是一个不错的选择,
设置一个全局数组包含该月的天数来确定一个,如果在2月的天数 BR />这里有一个技巧,就是设定一个变量来保存每月的最后一天,一周,因为它是连续的,所以在下个月的第一天是星期几被很好地定义,是打印几个空格发生这个变量的值,哦
日期星期有几个还不错的事,知道在今年的第一天,然后是一周的第一天的日期,今年的差一些美好的一天,使用for循环,可以计算出
农历这做的不好,你可以看看百度,一种子功能,您可以参考 a>
后面两个函数,读取和写入文件,很简单,套用固定格式的文件可以变化不大,
热心网友
时间:2023-11-13 07:36
农历和阳历19年是一致的。 (有时可能会相差一两天,这将是大致一致的。)
准确的日历,你可以尝试一下中国的日历。访问互联网,可以查询。
网址查看个人档案
关于中国农历的是为您提供数千年前在日历查询,可以查询阳历和中国农历日期,节气的向上和向下各种节日的日历内容。农历节气,太阳和月亮新月(第一批)和200年的范围内精度在几秒钟内,向前(尽可能公元5000年),精度几分钟。
节气,太阳和月亮月亮在精确的时间可能发生在午夜时分,所以如果日历的精确度不高,误差过大,然后计算出的实际日期可能会糟糕的一天,例如:在2008年1月21日大寒0:43,计算的误差将是1月20日误做的大寒。提供准确的关于中国农历的日历查询是一个非常高的精度。
求用vb做万年历 要求输入一个日期 得到星期节日星座节气
日历显示,这是相对简单的,是计算的一年的第一天是星期可以 原则:第1年1月1日(星期一),计算这天的第一天,年1月1日,1的AD,除以7的中间的,其余的是周。一年365天,364正好是7的倍数,那么一年更比一天,闰年加一天。还有一个更简单,仅有400年是一个轮回,400 +97 = 497多 您输入的一...
用VB如何做万年历?
WeekName(1) = "星期日"WeekName(2) = "星期一"WeekName(3) = "星期二"WeekName(4) = "星期三"WeekName(5) = "星期四"WeekName(6) = "星期五"WeekName(7) = "星期六"'天干名称 TianGan(0) = "甲"TianGan(1) = "乙"TianGan(2) = "丙"TianGan(3) = "丁"TianGan(4) ...
VB高手编辑一个电子万年历的程序源代码啊
OBJ.firstWeek 返回当月一日星期 由OBJ[日期].属性名称 即可取得各项值 OBJ[日期].isToday 返回是否为今日 true 或 false 其他OBJ[日期] 属性参见 calElement() 中的注解*/function calendar(y,m) { var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2, tmp3; var cY, cM, cD; //年...
电子万年历怎样调日期和星期?
电子万年历时间日期调整的操作方法如下:1、先按一下“A”键(进入时间设置状态,同时年份“闪烁”,可按“B”或“C”键修改年份;2、修改好后按“A”键将闪烁位移到公历“月”,按“B”或“C”键修改月份;3、用同样的方法可对日、时、分、秒进行设置;星期、农历月、日将自动跟随公历的变化...
万年历程序查询 要求:提供菜单方式选择 输入年份,月份,日期,计算得到...
你这是要什么语言的?我这里有C版本的,当然C++版本也是可以改出来的。包含了农历与节气,基本上能满足你的要求,如果需要,可以追问,源码奉上,另外,我还有个C/C++的农历库,专门为万年历设计,集成了很实用的功能,用起来非常方便。以下是类的声明:class CLunar {public: virtual long Int(double...
有谁懂用java制作一个万年历,急需哦具体功能看问题补充哦。真的O(∩...
万年历 author Administrator / public class Calendar { / param args / public static void main(String[] args) { Scanner input = new Scanner(System.in);System.out.print("请输入年份:");int year = input.nextInt();System.out.print("请输入月份:");int months = input.nextInt()...
JS万年历中如何求某天的节气
我要求的是某日所处的节气的序号即i, 不是节气的日期 就是说 比如今天时12月25日,那么我在万年历中点一下25 在上面的文本框中就能显示12月25日所处于的节气序号---23 【冬至】如果我把万年历的日期变到7月,我点一下 万年历中的3日,上面的文本框就显示7月3日所处的节气序号---11 即夏至我写的那个...
用c++编写一个简单的万年历
功能要求:1.能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。2.能够按照月份格式显示,或按照星期格式显示。3.能够显示系统时间。4.能够设置闹钟。5.能够查询若干... 功能要求:1. 能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。2. 能够按照月份格式显示,或按照星期格式显示...
C语言程序设计 万年历查询程序。
【要求】:1. 程序运行后,首先在屏幕上显示主菜单:1. 查询某年某月某日是星期几 2. 查询某年是否是闰年 3. 打印某年的全年日历 4. 退出 2. 在主菜单中输入1后,显示:“请输入年月日(XXXX,XX,XX)”运行后输出:XXXX年XX月XX日是星期X,是否继续查询(Y/N)?如果输入Y,则重新...
万年历查询自己的星座
星座是按阳历日期算的,可以通过节气(我们常说的农历节气其实是阳历的概念,反映太阳的位置,我国的农历并非纯阴历,而是阴阳合历,呵呵,这说来话长了,打住。)的时间精确确定。 方法是先找到你出生那年生日那天,看这一天位于哪两个节气之间,再根据节气-星座对照表,查询即可。 查询中国万年历可以帮助你精确查询自己的星...