农历大月小月如何计算,悬赏100分

农历大月小月如何计算,悬赏100分,第1张

农历大月小月设置规律

一、农历的大小月的设置有一定规律

阴历定月的方法是:用朔望月周期给出,朔所在日为初一,朔望月长约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类型怎么比较大小呀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9852514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存