您好,我正在尝试计算怀孕期还剩多少天,但我认为我的算法不正确
public int getDaysPregnantRemainder_new() {
GregorianCalendar calendar = new GregorianCalendar();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
long diffDays = 280 - ((getDueDate().getTime() - calendar.getTime()
.getTime()) / (24 * 60 * 60 * 1000));
return (int) Math.abs((diffDays) % 7);
}
我基于 280 天期限,getDueDate()
是一个 Date 对象并getTime()
返回毫秒 unix 时间
在现实世界的某些日子里,报告的数字有时会偏离 1,我开始认为我的算法是错误的,或者毫秒时间越来越远,或者毫秒时间不够精确,或者公历日历功能很奇怪。
总而言之,我不确定,任何见解都值得赞赏