0

人の日付を見つける小さな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週間未満の場合は、この人が何日であるかを調べます。

疑似コード:

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

2 に答える 2

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()));
    }

}
于 2012-12-06T23:26:23.050 に答える
1

getTimeInMillis()ミリ秒単位で時間を提供します。その値を使用すると、簡単に計算できます。1 秒は何ミリ秒、1 分、1 時間、1 日、1 か月などは何ミリ秒か。

時間 (秒): var a = ミリ秒 / 1000。時間 (分): a / 60 ...

于 2012-12-06T23:00:23.537 に答える