java根據日期時間換算生辰演算法

2021-03-04 08:49:36 字數 5672 閱讀 4801

1樓:匿名使用者

大多數天干地支組合規律基本沒問題,但剩下細節很麻煩,關鍵是(1)陰曆中的閏月規律

(2)同一月份還得分是在節氣前還是節氣後(節氣前按上個月算)等麻煩處理的問題

2樓:匿名使用者

生辰八字的介紹請參考

具體演算法:

1、設定乙個下限年,比如1960,2023年以前的就不給查。並且查萬年曆,該年節後是庚子年。

2、將天乾和地支分別裝在兩個陣列裡面。

3、以該年為基準線,設定迴圈,以查詢年為上限年,迴圈計數器每加一年,天乾和地支陣列標號各右移一位,然後if判斷是否陣列到底了,到底了則從頭開始。

月、時的演算法類似。

3樓:蘇常來石客

什麼java, 查萬年曆很方便的.

怎麼根據出生時間算生辰八字 50

4樓:人身難得

拜師學藝最直接。

1、萬年曆上檢視,出生的年月日時是天干地支,八個字五行相生剋;

2、這個基礎知識技能複雜,三言兩語教不會你。建議長期關注我的回答,可解決問題。

回答不周,笑納海涵。

怎樣把陽曆時間換算成生辰八字

5樓:匿名使用者

先把陽曆換算成陰曆(按萬年曆),再按陰曆的年、月、日、時的天干地支組合在一起就是八字。

6樓:匿名使用者

網上都有這樣的轉換**的吧。

7樓:匿名使用者

2023年正月十一16:18

計算生辰八字的c#或者java的demo

8樓:

using system;using system.collections.generic;using system.

***ponentmodel;using system.data;using system.drawing;using system.

linq;using system.text;using system.windows.

forms; namespace brithdayeigth public static string date = ; public int yearzi=0; private void btnok_click(object sender, eventargs e) private void form1_load(object sender, eventargs e) //獲得年生辰的方法 public string yearz(int y) public string moonz(int m,int year) else if (yearzie % 10 == 2 || yearzie % 10 == 7) else if (yearzie % 10 == 3 || yearzie % 10 == 8) else if (yearzi % 10 == 4 || yearzi % 10 == 9) else if (yearzie % 10 == 5 || yearzie % 10 == 0) } else else if (yearzie == 2 || yearzie == 7) else if (yearzie == 3 || yearzie == 8) else if (yearzi == 4 || yearzi == 9) else if (yearzie== 5 || yearzie == 10) } return date[1]; } public string dayei(int year,int day) public string hours(int hour,int day,int year) else if (datezi == 2 || datezi == 6) else if (datezi == 3 || datezi == 7) else if (datezi == 4 || datezi == 8) else if (datezi == 5 || datezi == 0) if (hour > 0 && hour <= 1) else if (hour > 1 && hour <= 3) else if (hour > 3 && hour <= 5) else if (hour > 5 && hour <= 7) else if (hour > 7 && hour <= 9) else if (hour > 9 && hour <= 11) else if (hour > 11 && hour <= 13) else if (hour > 13 && hour <= 15) else if (hour > 15 && hour <= 17) else if (hour > 17 && hour <= 19) else if (hour > 19 && hour <= 21) else if (hour > 21 && hour <= 23) else if (hour > 0 && hour <= 1) return strh; } public int yearnum(int year) return yearzie; } }}

如何根據出生年月日計算生辰八字?

9樓:噹噹

八字分析是個很複雜的過程,如果您感興趣的話,我建議您可以網上搜一本莫亞著的四柱**真途,一些簡單基本的問題您自己都可以學會

java 根據出生日期獲得年齡

10樓:青鳥中關村專家

實現步驟:

1、獲取當前時間

2、判斷出生日期是否小於當前時間,如果大於,則引發一場

3、從當前時間中取出年、月、日;從出生日期中取出年、月、日,年份相減

4、然後做具體判斷

示例**如下:

public static int getage(date birthday) throws exception

//取出系統當前時間的年、月、日部分

int yearnow = cal.get(calendar.year);

int monthnow = cal.get(calendar.month);

int dayofmonthnow = cal.get(calendar.day_of_month);

//將日期設定為出生日期

cal.settime(birthday);

//取出出生日期的年、月、日部分

int yearbirth = cal.get(calendar.year);

int monthbirth = cal.get(calendar.month);

int dayofmonthbirth = cal.get(calendar.day_of_month);

//當前年份與出生年份相減,初步計算年齡

int age = yearnow - yearbirth;

//當前月份與出生日期的月份相比,如果月份小於出生月份,則年齡上減1,表示不滿多少周歲

if (monthnow <= monthbirth) else

} system.out.println("age:"+age);

return age;}

11樓:匿名使用者

string t1 = 現在實際日期.replace('-','/');

string t2 = 出生日期.replace('-','/');

date dt1= new date(t1);

date dt2= new date(t2);

long i= (dt1.gettime() - dt2.gettime())/(1000*60*60*24);

//i就是總天數了,之後你除個365 就是歲數, 餘數就是天數 要算月的話就把餘數再除以12 我的這個日期的格式是2008-11-22

實歲就是現在的年減去出生的年呀,虛歲是實歲再加1 這個天數就是能比較精確了吧

12樓:匿名使用者

簡單實現**如下:

public static int getage(date birthdate)

13樓:匿名使用者

private static string dealage(int days, date borndate)

date currentdate = datetool.getnextdate(borndate, days); //當前日期

calendar from = calendar.getinstance();

from.settime(borndate);

calendar to = calendar.getinstance();

to.settime(currentdate);

int fromyear = from.get(calendar.year);

int frommonth = from.get(calendar.month);

int fromday = from.get(calendar.day_of_month);

int toyear = to.get(calendar.year);

int tomonth = to.get(calendar.month);

int today = to.get(calendar.day_of_month);

int year = toyear - fromyear;

int month = tomonth - frommonth;

int day = today - fromday;

if(month < 0)

if(day < 0 )

// system.out.println("borndate="+datetool.getfulldate().format(borndate));

// system.out.println("currentdate="+datetool.getfulldate().format(currentdate));

// system.out.println("oneyear="+datetool.getfulldate().format(oneyear));

// system.out.println("year="+year);

// system.out.println("month="+month);

// system.out.println("day="+day);

if(year < 1)

if(day >= 0)else

}}elseelse}}

return age;}

extjs 如何禁用日期時間控制項

如果還想把日期的值傳到後台,你可以在表單裡多加乙個hidden項,name與日期框的name相同就可以了。ext預設是disabled的表單項不會被提交的 可以這樣遷就著解決 先設定日期控制項 disable false,然後在formpanel 提交前,再取得控制項把它 disable true ...

SQL時間函式,SQL日期函式

呵呵,用datetime就可以了.人是活的,並不是死的,資料庫中存有日期,但是不代表我在介面上就顯示日期,這一步完全可以在程式中實現的,而且很簡單.生活對乙個人來說,有很多條路可以走,程式也是一樣的。getdate 獲取日期時間 hour minute,second 分別獲取小時,分,秒 如 hou...

天梭表時間和日期怎麼調,分針怎麼轉日期向前還是向後跑

親 不知道你的是機械表還是石英錶呢?下面給你兩種的具體步驟,你參考著調下吧 天梭機械表調日期的操作相對較為繁瑣,並在調日期和時間方面需要注意的一些事項。具體的操作方法 步驟及注意事項如下 1 天梭表怎麼調日期 天梭手錶 tissot 的表把分為兩檔,當天梭手錶的表把拉出第一檔則是調解日期,再向外拔出...