Java 경과 시간 구하기 - Java gyeong-gwa sigan guhagi

Javascript에서 시간을 표현하고, 시간을 다루는 여러가지 방법을 알아보고 있습니다.

[HTML] 날짜 입력 항목에 현재 시간을 기본값으로 세팅하기

[Javascript] 현재 날짜, 시간 구하기

[Javascript] Date 객체로 원하는 날짜, 시간 표현하기

[Javascript] 날짜 계산하기 (년/월/일 더하기, 빼기)

[Javascript] 월의 마지막 날짜 계산하기

[Javascript] 날짜 계산 (Date) 마지막 날짜(말일)/윤달/윤년 처리하기

[Javascript] 시간 계산하기 (시/분/초/ 더하기, 빼기)

이번에는 Javascript에서 주어진 두 시간 사이의 

경과 시간 (시간, 분, 초)를 계산하는 방법입니다.

경과 시간 계산하기 (시, 분, 초)

두 시간 사이의 차이를 구하기 위해서는

먼저 Date 객체의 getTime() 메소드를 이용해서 각각의 날짜의 시간에 해당하는 숫자를 구하고, 

그 차이를 계산하면 됩니다.

dateObj.getTime()

Date의 getTime() 메소드는 '1970년 1월1 일 00:00:00 UTC'로부터 주어진 시간 사이의 경과시간(밀리초)를 리턴합니다.

즉, '1970년 1월1 일 00:00:00 UTC'의 getTime() 값은 0입니다.

그리고, '1970년 1월 1일 00:00:01 UTC'의 getTime() 값은 1000입니다.

이를 이용해서 경과시간을 계산할 수 있습니다.

 경과 시간 / 분 / 초 계산 

See the Pen Date by anna (@hianna) on CodePen.

2020/7/1 0:0:0 ~ 2020/7/1 2:30:4 사이의 경과시간을 계산하고,

각 경과 시간을 초, 분, 시간 단위로 다시 환산하였습니다. 

 const elapsedMSec = date2.getTime() - date1.getTime(); 

두 시간(date1, date2)의 getTime() 값의 차는

두 시간 사이의 경과시간(밀리세컨드 단위)을 의미합니다.

 const elapsedSec = elapsedMSec / 1000; 

밀리세컨드(millisecond) 단위를 초단위(second)로 변환하기 위해 1000으로 나누어 주었습니다.

 const elapsedMin = elapsedMSec / 1000 / 60; 

밀리세컨드(millisecond) 단위의 경과 시간을 초단위(second)로 변환하기 위해 1000으로 나누어 주고,

이것을 분단위(minute)로 변환하기 위해 60으로 다시 나누어 주었습니다.

 const elapsedHour = elapsedMSec / 1000 / 60 / 60; 

밀리세컨드(millisecond) 단위의 경과 시간을 초단위(second)로 변환하기 위해 1000으로 나누어 주고,

이것을 분단위(minute)로 변환하기 위해 60으로 다시 나누어 주었습니다.

그리고, 시간단위(hour)로 변환하기 위해 다시 60으로 나누어 주었습니다.

See the Pen Date by anna (@hianna) on CodePen.

Date 객체의 연산을 할때는 getTime() 메소드를 사용하지 않고,

Date 객체끼리 연산을 해도 getTime() 메소드를 사용하여 연산한 것과 같은 결과를 얻을 수도 있습니다.

자바를 이용해서 두 날짜 값의 차이를 시/분/초로 구하기.


문제풀이 등 급할 때 쓰기 좋은 방법을 소개합니다.


자바에서 기본 제공하는 클래스로 간단하게 구할 수 있습니다.


도구


  1. new Date()
    java.util의 Date는 비교적 정밀하게 날짜와 시간을 표현합니다.
    (Date는 자바 기본 API로 쓸 수 있는 점은 좋지만 조금 더럽다는 평이 있어서 잘 사용하는 클래스는 아닙니다[각주:1].)

  2. Date.getTime()
    Date.getTime()은 Date를 밀리세컨드로 변환해서 long형 숫자 데이터로 반환합니다.
    이를 이용하면 산술연산으로 시간 차이를 쉽게 구할 수 있습니다.


다음은 경과한 초를 구하는 예제입니다. 수행결과로 3을 출력합니다.


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

public class Main {
	public static void main(String[] args) throws ParseException {
		// TODO Auto-generated method stub
		SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss", Locale.KOREA);
		Date d1 = f.parse("01:05:10");
		Date d2 = f.parse("01:05:07");
		long diff = d1.getTime() - d2.getTime();
		long sec = diff / 1000;
		System.out.println(sec);
	}
} 


1000밀리초는 1초니까, getTime()으로 구한 값을 1000으로 나누면 초를 얻습니다.


마찬가지로 분을 구할 때는 1000*60=60000으로 나누고,


시를 구할 때는 1000*60*60=3600000으로 나눕니다.



  1. https://brunch.co.kr/@kd4/11 [본문으로]

공유하기

게시글 관리

구독하기코코넛냠냠

'Methods' 카테고리의 다른 글

PyQt & Qt Designer 사용하기  (10)2018.03.30치트엔진 튜토리얼 Step 9 풀이  (3)2018.03.172017년 12월 4주차에 변경된 티스토리 공감 버튼 위치 수정하기  (3)2017.12.24리눅스 와이파이 다이렉트 예제  (1)2017.11.13페도라 부팅시 회색 화면에 갇히는 문제 해결하기  (0)2017.11.06리눅스 디바이스와 안드로이드 기기 사이 와이파이 다이렉트 연결 및 통신  (17)2017.09.18Git 기본 개념 정리 노트  (1)2017.08.06안드로이드에서의 와이파이 다이렉트 통신 프로그래밍 기본  (6)2017.07.22Kivy 안드로이드 어플리케이션 디버그하기  (1)2017.06.09우분투 16.04 LTS에서 안드로이드 스튜디오 설치  (0)2017.06.09

Java 경과 시간 구하기 - Java gyeong-gwa sigan guhagi

행복한삶~!!

카테고리

  • 분류 전체보기 (73)
    • Life (15)
      • 여행 (3)
      • 육아 (0)
      • 사진 (0)
      • 탁구 (0)
      • 재테크(세금,부동산 등) (6)
      • 기타 (6)
    • Linux System Programming (1)
    • FrontEnd (22)
      • JSON (0)
      • AJAX (1)
      • Android (4)
      • JavaScript (11)
      • jQuery (0)
      • HTML5&CSS (3)
      • PhoneGap (3)
      • ExtJS / Sencha (0)
    • BackEnd (10)
      • C (1)
      • Java (3)
      • Unix (1)
      • Oracle (1)
      • JSP&Servlet (4)
      • WebSphere (0)
      • SQL (0)
    • Project (0)
      • 대법원 (0)
    • 그외 주제들 (24)
      • Project (0)
      • windows (1)
      • 알고리즘 연습 (1)
      • Study..합시당~~ (7)
      • 한글처리 (9)
      • Tool (3)
      • 기타 (3)

태그목록

  • window
  • UNION
  • javascript
  • XMLHttpRequest
  • Hidden
  • Was
  • Frame
  • getElementByName
  • 글자셋
  • CSS
  • webview 디버깅
  • union all
  • phonegap
  • character set
  • json
  • Charset
  • 인코딩
  • cordova
  • 한글처리
  • jsp 한글처리

공지사항

최근에 올라온 글

  • EPSON 프린터 L7160 사용후기.
  • EBS 프라임 다큐 모듬.
  • so loading 오류 문제.
  • 임대사업자 장단점.
  • 임대사업자 세금 정리.

최근에 달린 댓글

링크

  • 구슬이네 IT & Media.

글 보관함

  • 2018/12 (1)
  • 2015/11 (1)
  • 2015/08 (1)
  • 2015/05 (3)
  • 2015/04 (2)

Yesterday6

Today0

Total49,922

가입하기 RSS FEED

행복한삶~!! blog is powered
by Daum/designed by Tistory

달력

12023  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

시간을 24시간 포맷으로 출력하기, 경과 시간 구하기..

BackEnd/Java 2014. 3. 10. 15:12

http://www.okjsp.net/bbs?seq=45969

SimpleDateFormat 에서 시간을 24시간타입으로 나오게 할려면요?어떻게?

java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyyMMddHHmmss");

 

위처럼 하면 오후 1시면 01로 나오는데 13시로 나오게 할수 없나요?

HH로 하시면 될텐데요....? 
hour에 관련된 pattern문자는 

HH : 0 -23 
kk : 1 - 24 
KK : 0 -11 
hh : 1 - 12 
이렇게 정의되어 있습니다. 
일반적인 24시간 표시일 경우... 
0 - 23인 HH를 쓰는게 맞습니다.



http://ra2kstar.tistory.com/123


JAVA 현재 시간 구하기




JAVA에서 제공하는 다양한 메서드는 굉장히 편하다. 이번에는 그 중에서 현재 시간을 구하는 메서드를 알아본다. 


System.currentTimeMillis(); 


currentTimeMillis()의 리턴형은 long 값이며, 1/1000초의 값을 리턴한다. 

(검색을 통해서 좀 알아보니 1970년 1월 1일 부터 계산된 것이란다.) 


이 메서드를 통하여, 현재 시간을 계산 할 수 있고, 프로그램의 실행 시간 또한 나타낼 수 있다. 


  현재 시간 출력 및 실행 시간 출력

public class trunc_tweet_tag {

public static void main(String [] args){

long time = System.currentTimeMillis(); 

SimpleDateFormat dayTime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");

String str = dayTime.format(new Date(time));

System.out.println(str);

long start = System.currentTimeMillis() ; 

new trunc_tweet_tag("./message/");

long end = System.currentTimeMillis(); 

System.out.println((end-start)/1000 +" 초 걸림");

}

......



공유하기

게시글 관리

구독하기Work&Life Balance!!

저작자표시 비영리 동일조건

'BackEnd > Java' 카테고리의 다른 글

윈도우 7 JAVA_HOME 설정하기  (0)2014.09.16초보 Java 웹 개발자들을 위한 학습 로드맵  (0)2014.03.12

Posted by 행복한삶~!!

| 댓글0

댓글을 달아 주세요

Name

Password

Homepage

secret

Comment