在几个月,几周或几天内找到年龄

时间:2012-12-06 22:54:22

标签: java

我有一些java代码可以找到一个人的日期。它看起来像这样:

  Calendar now = Calendar.getInstance();
  Calendar dob = Calendar.getInstance();

  dob.setTime(birthDay); /*assume this is not null */

  int age = now.get(Calendar.YEAR) - dob.get(Calendar.YEAR);

  if (now.get(Calendar.DAY_OF_YEAR) < dob.get(Calendar.DAY_OF_YEAR)) 
  {
    age--;
  }

现在,我想说这个人不到1岁,找到这个人多少个月。如果此人不到1个月,请查找此人的周数。如果此人不到1周,请查看此人的天数。

psuedo代码:

if (age < 1)
{
    ///?
}

2 个答案:

答案 0 :(得分:1)

getTimeInMillis()为您提供以毫秒为单位的时间。使用该值,您可以简单地计算。一秒钟内有多少毫秒,一分钟,一小时,一天,一个月等等。

以秒为单位的时间:var a =毫秒/ 1000。 以分钟计的时间:a / 60 ...

答案 1 :(得分:1)

类似的东西:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class TimeDiff {

    public static void main(String[] args) throws ParseException {
        Date now = new Date();
        System.out.println(now);
        Date birthDate = new SimpleDateFormat("dd-MM-yyyy").parse("7-12-1983");
        System.out.println(birthDate);

        Date age = new Date(now.getTime() - birthDate.getTime());
        Calendar instance = Calendar.getInstance();
        instance.setTime(age);
        instance.add(Calendar.YEAR, -1970);
        SimpleDateFormat sdf = new SimpleDateFormat("d-W-MM-yyyy");
        System.out.println(sdf.format(instance.getTime()));
    }

}