[Java] 자바 시간, 날짜 계산 (2)

2014. 1. 28. 17:46·Etc/보관함
728x90
반응형

 

 

날짜 시간 계산 예제

 

 

import java.util.*;
import java.text.*;
public class StringToDate {
public static void main(String[] args) {
try { String str_date="2010-07-09T12:50:58";
DateFormat formatter ; 
Date date ;
formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
date = (Date)formatter.parse(str_date);
System.out.println("Today is " +date );
} catch (ParseException e)
{System.out.println("Exception :"+e); }
}
}

 

 

 

Java에서 내가 알고 있는 시간과 관련된 클래스는 다음의 세가지가 있다.


Calendar

날짜와 요일 관련하여 유용한 기능들을 가진 클래스이다. 달력을 그리거나, 오늘이 한달중에서 몇번째 주이고 몇번째 요일인지 계산하는 기능들을 가지고 있다. 단, 시간 정확도는 분까지만 보장한다. 날짜 수준까지만 사용하는 것을 권장한다.


Date

날짜를 구하는 클래스이다. API문서에는 milisecond 수준까지 정확도를 보장한다고 되어 있다. 하지만 메소드중 많은 메소드가 deprecated(권장하지 않음)이기 때문에, 날짜 계산이 필요할 경우에는 Calendar클래스의 add(int, int)를 사용하고, millisecond 단위로 계산할때는 System.getCurrentTimemilis()를 권장한다.


System.getCurrentTimemilis()

국제표준시각(UTC, GMT) 1970/1/1/0/0/0 으로부터 경과한 시각을 밀리초 단위까지 계산하여 long 값으로 반환한다. 주로 정확한 시간 계산이 필요한 경우에 해당 메서드를 주로 사용한다. 필요한 경우 Date클래스나 Calendar 클래스로 변환하여 사용할 수 있다.

 

아래는 Calendar 클래스의 사용법이다.

 

//현재 날짜를 받아옴. 

Calendar t = Calendar.getInstance();

//오늘날짜의 해당연도를 구함

String year = Integer.toString(t.get(Calendar.YEAR));

//오늘날짜의 해당 월을 구함. 1월은 0이기 때문에 + 1

String month = Integer.toString((t.get(Calendar.MONTH) + 1));

//한자리 숫자, 예를 들면 1월인 경우 "01"등으로 문자열 변환

month = month.length() > 1 ? month : "0" + month;

//오늘의 날짜 구함

String day = Integer.toString(t.get(Calendar.DAY_OF_MONTH));

day = day.length() > 1 ? day : "0" + day;

//현재 시각의 시를 구함.

String hh = Integer.toString(t.get(Calendar.HOUR_OF_DAY));

//현재 시각의 분을 구함.

String mm = Integer.toString(t.get(Calendar.MINUTE));

//오늘의 요일을 구함

String WeekDay = Integer.toString(t.get(Calendar.DAY_OF_WEEK));

//오늘이 1~5번째 주중 몇번째 주인지 구함. 

String WeekOfMonth = Integer.toString(t.get(Calendar.WEEK_OF_MONTH);

//오늘을 기준으로 3주전 날짜로 수정



t.add(Calendar.WEEK_OF_MONTH, -3);

 

 

 

 

아래는 Date 클래스의 사용법이다.

 

 

//현재 시각 가져오기.

Date today = new Date (); 

//출력

System.out.println ( today );

//시작일. 여기서는 샘플로 24시간 전의 시각을 지정.

Date startDay = new Date(System.currentTimeMillis() - 1000*60*60*24);

//종료일. 여기서는 샘플로 24시간 후의 시각을 지정.

Date endDay = new Date(System.currentTimeMillis() - 1000*60*60*24);

//해당 기간 조회

if(startDate.before(today) && endDate.after(today))

{

 System.out.pringln("지정하신 날짜는 해당 기간내에 존재합니다.");

}

 


 

출처: http://blog.naver.com/vlueguy7/70096153885

728x90
반응형
저작자표시 (새창열림)

'Etc > 보관함' 카테고리의 다른 글

[Linux] 리눅스에서 압축하기, 압축풀기  (0) 2014.01.28
[Java] 간단한 자바 인클루드 스크립트  (0) 2014.01.28
[Java] 자바 날짜, 시간 계산 예제  (0) 2014.01.28
티스토리 syntaxhighlighter 소스 포스팅시 오류 해결  (0) 2014.01.28
[Java] 쿠키 관련 함수 ( setCookie, getCookie )  (0) 2014.01.28
'Etc/보관함' 카테고리의 다른 글
  • [Linux] 리눅스에서 압축하기, 압축풀기
  • [Java] 간단한 자바 인클루드 스크립트
  • [Java] 자바 날짜, 시간 계산 예제
  • 티스토리 syntaxhighlighter 소스 포스팅시 오류 해결
베타테스터즈
베타테스터즈
스포츠와 베팅관련 전문 블로그, 추천벳, 승부예측, 스포츠, 연예 뉴스, 생활정보
  • 베타테스터즈
    Today Sports
    베타테스터즈
  • 전체
    오늘
    어제
    • 분류 전체보기 (418)
      • Today Sports (364)
        • 추천벳 (6)
        • 축구::승부예측 (135)
        • 농구::승부예측 (95)
        • 기타종목::승부예측 (16)
        • 스포츠, 연예 뉴스 (112)
      • Real Life (4)
        • Story & Music (4)
        • 유용한 정보 (0)
      • Etc (50)
        • 보관함 (50)
  • 최근 글

  • 인기 글

  • 최근 댓글

  • 태그

    프리미어리그
    Linux
    V리그
    NBA
    손흥민
    세리에A
    리눅스
    코파델레이
    KBL
    토트넘
  • 05-16 23:05
    250x250
    반응형
  • hELLO· Designed By정상우.v4.10.3
베타테스터즈
[Java] 자바 시간, 날짜 계산 (2)
상단으로

티스토리툴바