- date.getTime()으로 시간 구하기2024년 07월 02일
- chantleman
- 작성자
- 2024.07.02.:00
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+"초 지났습니다.");
728x90'자바' 카테고리의 다른 글
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 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)