一、农历的大小月的设置有一定规律
阴历定月的方法是:用朔望月周期给出,朔所在日为初一,朔望月长约2953059日 即29天半多一点,因日历必须用整数,所以规定农历大月30天,小月29天。
因小月29天,少计了053059日,就得把这少计了的053059日加起来放在下一个月,那下个月就有了30天。
即使计了30天,但还多出了003059日,又得往下累加。这个数无论大月还是小月,都多出这个数。那么一年就多出了036708日。
三年后,就多出了10124日,就必须在这一个小月上加上一天,于是就会出现两个大月。
即使加了这一日后,还有00124日的零头,又得与053059日加起来再往后累加如此循环不已。
二、农历闰月的大月和小月设置也有规律
农历闰月一般为29天,是小月。但也有例外——那就是:按上述农历大小月的设置办法,将零头数累加到正好有一天的那一个月如果正逢闰月,就把这多出的一日加在这个闰月上,那么这个闰月就有了30天,成了大月了。
农历的大月小月设置很难象公历一样找到规律。
string str1 = "2008-08-02";
string str2 = " 2006-11-15";
DateTime c1 = ConvertToDateTime(ConvertToDateTime(str1)ToString("yyyy-MM"));
DateTime c2 = ConvertToDateTime(ConvertToDateTime(str2)ToString("yyyy-MM"));
if (c1>c2)
{
DateTime tmp = c1;
c1 = c2;
c2 = tmp;
}
while (c2>=c1)
{
//MessageBoxShow(c1MonthToString());
MessageBoxShow(c1ToString("yyyy-MM"));
c1 = c1AddMonths(1);
}
有两个方法:
方法一:
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
方式二:
Dateafter()这样的方式不能比较出相等的时间。
扩展资料:
Date类可以在javautil包中找到,用一个long类型的值表示一个指定的时刻。它的一个有用的构造函数是Date(),它创建一个表示创建时刻的对象。
getTime()方法返回Date对象的long值。在下面的程序中,我使用Date()构造函数创建一个表示程序运行时刻的对象,并且利用getTime()方法找到这个日期代表的毫秒数量:
import javautil;
public class Now {
public static void main(String[] args) {
Date now = new Date();
long nowLong = nowgetTime();
Systemoutprintln("Value is " + nowLong);
}
}
参考资料来源:百度百科——java日期函数
以上就是关于农历大月小月如何计算,悬赏100分全部的内容,包括:农历大月小月如何计算,悬赏100分、.net获取两个时间段之间的月份、在java的程序里date类型怎么比较大小呀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)