android.text.format.Time具有称为getJulianDay的方法,该方法返回自纪元以来的日期。但是文档说:
该类在API级别22中已弃用。使用GregorianCalendar代替。
GregorianCalendar
中是否有任何方法可以完成相同的工作?
AFIK没有,但是也许可以帮忙,小数部分将被忽略。
public static int getJulianDay(Calendar cal) {
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH)+1; //Note January returns 0
int date = cal.get(Calendar.DATE);
return (1461 * (year + 4800 + (month - 14) / 12)) / 4
+ (367 * (month - 2 - 12 * ((month - 14) / 12))) / 12
- (3 * ((year + 4900 + (month - 14) / 12) / 100)) / 4 + date - 32075;
}
计算公式来自https://en.wikipedia.org/wiki/Julian_day,请参见“ 将公历日期转换为儒略日编号”