Date date= new Date();
long time = date.getTime();
time은 1970년 1월 1일 00시부터 지난 시간을 ms단위로 출력됩니다.
그래서 1970년 1월 1일부터 몇 년, 며칠, 몇시간, 몇 분, 몇 초가 지났는지를 구하기 위해서는
time에 365일을 ms단위로 나타낸 값으로 나누었을 때 몫을 year에 넣고
그 나머지값을 24시간을 ms단위로 나타낸 값으로 나누었을 때 몫을 day에 넣고
그 나머지값을 1시간을 ms단위로 나타낸 값으로 나누었을 때 몫을 hour에 넣고
그 나머지값을 60분을 ms단위로 나타낸 값으로 나누었을 때 몫을 min에 넣고
그 나머지값을 60초를 ms단위로 나타낸 값으로 나누었을 때 몫을 sec에 넣으면 됩니다.
package kr.or.ddit.homework;
import java.util.Date;
public class HomeWork01 {
public static void main(String[] args) {
Date date= new Date();
long time = date.getTime();
System.out.println("time="+time);
long secMS=1000;
long minMS = 60*secMS;
long hourMS=60*minMS;
long dayMS=24*hourMS;
long yearMS=365*dayMS;
long year= time/yearMS;
long day = time%yearMS/dayMS;
long hour = time%yearMS%dayMS/hourMS;
long min= time%yearMS%dayMS%hourMS/minMS;
long sec= time%yearMS%dayMS%hourMS%minMS/secMS;
System.out.println(year+"년"+day+"일"+hour+"시간"+min+"분"+sec+"초가 지났습니다.");
}
}
%연산자 없이 구하기
long sec=1000;
long min = sec*60;
long hour = min*60;
long day = hour*24;
long year = day*365;
long years=time/year;
time = time - years*year;
long days = time/day;
time=time-days*day;
long hours = time/hour;
time = time-hours*hour;
long mins = time/min;
time=time-mins*min;
long secs=time/sec;
time=time-secs*sec;
System.out.println(years+"년"+days+"일"+hours+"시간"+mins+"분"+secs+"초 지났습니다.");
'자바' 카테고리의 다른 글
String 타입 변환 (0) | 2024.07.03 |
---|---|
templates 설정 (0) | 2024.07.03 |
데이터 타입 (0) | 2024.07.02 |
eclipse 설정 (0) | 2024.07.01 |
amazon jdk 설치 (1) | 2024.07.01 |