카테고리 없음

Date <-> String / Date <-> Calendar

설총이 2018. 6. 4. 18:19

*Date <-> String

formatting (date -> text)

::SimpleDateFormat.format(Date)





1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) {
        DateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일");
        DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd");
        
        try {
            Date d = df.parse("2018년 7월 7일");
            System.out.println(df2.format(d));
        }catch(Exception e) {
            
        }
    }
cs


parsing(text -> date) :: 문자열을 받아와서 Date타입으로 바꿔주는 애

::SimpleDateFormat.parse(String) => 처음에 지정한 패턴에 꼭 맞춰주어야함.

String값을 저리 지정해주었다면 쓰는것도 그대로 "yyyy/MM/dd" 순으로 적어주어야한다.

parse라는 메서드에는 기본적으로 throw값이있어서 try~catch문으로 묶는다.



1
2
3
4
5
import java.util.*;
public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.set(2018,5,4);
        Date day = cal.getTime();
        System.out.println(day);
cs


날짜를 구하고자 할때, 구현된 Calendar클래스안의 getInstance() 를 이용해 객체 생성 후 사용한다.

사용할 수 있는 이유는 위에 java.util.Calendar를 import했기때문에 사용가능하다.

(*; 는 java.util 패키지안에 있는 모든 클래스들을 사용할수있도록 *로 표시)



*SimpleDateFormat의 Pattern

LetterDate or Time ComponentPresentationExamples
GEra designatorTextAD
yYearYear199696
YWeek yearYear200909
MMonth in year (context sensitive)MonthJulyJul07
LMonth in year (standalone form)MonthJulyJul07
wWeek in yearNumber27
WWeek in monthNumber2
DDay in yearNumber189
dDay in monthNumber10
FDay of week in monthNumber2
EDay name in weekTextTuesdayTue
uDay number of week (1 = Monday, ..., 7 = Sunday)Number1
aAm/pm markerTextPM
HHour in day (0-23)Number0
kHour in day (1-24)Number24
KHour in am/pm (0-11)Number0
hHour in am/pm (1-12)Number12
mMinute in hourNumber30
sSecond in minuteNumber55
SMillisecondNumber978
zTime zoneGeneral time zonePacific Standard TimePSTGMT-08:00
ZTime zoneRFC 822 time zone-0800
XTime zoneISO 8601 time zone-08-0800-08:00


*Date -> Calendar.

  Calendar.setTime(Date) // 

:: 저장할때는 set() 메서드를 사용한다.

주의할점은 원하는 month값을 저장할때에는 그 값에 -1을 해주어야한다.

month가 0부터 시작하는것으로 구현되어있기때문이다.


*Calendar -> Date

  Calendar.getTime();

:: set으로 저장했다면 getTime()메서드로 꺼내온다.
나올때 데이터타입은 Date로 꺼내져오는것을 기억 !