java 获取julianDay的代码

612 阅读1分钟

1) 通过Date的方式

public int julianDateTest() {

    Date lDate = new Date();
    Calendar lCal = Calendar.getInstance();
    lCal.setTime(lDate);
    int lYear = lCal.get(Calendar.YEAR);
    int lMonth = lCal.get(Calendar.MONTH) + 1;
    int lDay = lCal.get(Calendar.DATE);
    int a = (14 - lMonth) / 12;
    int y = lYear + 4800 - a;
    int m = lMonth + 12 * a - 3;
    Integer lJulianDate = lDay + (153 * m + 2) / 5 + 365 * y + y / 4 - y / 100 + y / 400 - 32045;
    return lJulianDate.intValue();
}

2) 通过Time的方式

public static int getJulianDay() {

    Time t  = new Time();
    t.setToNow();
    return Time.getJulianDay(t.toMillis(true), t.gmtoff);
}