관리 메뉴

gi_dor

Java Wrapper , Date , Calendar , StringBuilder , Buffer λ³Έλ¬Έ

Language/Java

Java Wrapper , Date , Calendar , StringBuilder , Buffer

기돌 2023. 11. 15. 20:29
728x90

 

πŸ“š κ΅­λΉ„ 23 일차


 

πŸ”Έ Wrapper 클래슀

πŸ”Ή Wrapper 클래슀 

  • 8개의 κΈ°λ³Έμžλ£Œν˜• 값을  객체둜 λ§Œλ“€μˆ˜ 있게 ν•˜λŠ” 클래슀  β–Ά  byte , short , int , long , float , double , boolean
  • java.lang νŒ¨ν‚€μ§€μ— μ •μ˜λ˜μ–΄μžˆλ‹€
  • intλŠ” κΈ°λ³Έ μžλ£Œν˜•μ΄κ³  Integer λŠ” 그에 λŒ€μ‘ν•˜λŠ” Wrapper 클래슀
  • Integer클래슀λ₯Ό μ‚¬μš©ν•˜λ©΄ int 값을 객체둜 λ‹€λ£°μˆ˜ μžˆλ‹€
Integer a = 10;
// Integer a = new Integer(10)

Syste.out.println(a);	// "10"
System.out.println(a.intValue())	// 10

int x = a;	// aμ—λŠ” μ£Όμ†Œκ°’μ΄ 담겨 있음.

βœ” Integer aμ—λŠ” 객체의 μ£Όμ†Œκ°’μ΄ λ‹΄κ²¨μžˆλ‹€ 
κΈ°λ³Έ μžλ£Œν˜• λ³€μˆ˜ a 에 λŒ€μž…μ‹œ μ£Όμ†Œκ°’μ΄ 담기지 μ•ŠλŠ”λ° μ˜€ν†  μ–Έλ°•μ‹±μ—μ˜ν•΄  x의 값이 10이 λŒ€μž…λœλ‹€.

int x = a.intValue()	// μ˜€ν†  μ–Έλ°•μ‹±
// int x = 10 μ΄λœλ‹€

 

•  μƒμˆ˜

MAX_VALUE
	int κΈ°λ³Έ μžλ£Œν˜•μ˜ μ΅œλŒ€κ°’
MIN_VALUE
	int κΈ°λ³Έ μžλ£Œν˜•μ˜ μ΅œμ†Œκ°’

 

•  λ©”μ„œλ“œ

// Integer 클래슀의 Static Methods

    //	λ¬Έμžμ—΄μ„ 숫자( μ •μˆ˜ , μ‹€μˆ˜) 둜 λ³€ν™˜ν•˜κΈ°
    int i = new Integer(String str).intValue();
      	
    // 주둜 parseInt  μ‚¬μš©
    int Integer.parseInt(String str)
            
            
    // 전달받은 λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ³€ν™˜
    int Integer.parseInt(String str , int radix)
    λ¬Έμžμ—΄κ³Ό 진법을 μ „λ‹¬λ°›μ•„μ„œ μ •μˆ˜λ‘œ λ³€ν™˜ν•΄μ„œ λ°˜ν™˜


    -- μž˜μ•ˆμ“°μž„ --
    String toBinaryString(int i)
    전달받은 μ •μˆ˜λ₯Ό 2μ§„μˆ˜λ‘œ κ΅¬μ„±λœ λ¬Έμžμ—΄λ‘œ λ°˜ν™˜

    String toOctalString(int i)
    전달받은 μ •μˆ˜λ₯Ό 8μ§„μˆ˜λ‘œ κ΅¬μ„±λœ λ¬Έμžμ—΄λ‘œ λ°˜ν™˜

    String toHexString(int i)
    전달받은 μ •μˆ˜λ₯Ό 16μ§„μˆ˜λ‘œ κ΅¬μ„±λœ λ¬Έμžμ—΄λ‘œ λ°˜ν™˜

    static int min(int x, int y)
    μž‘μ€μˆ˜ λ°˜ν™˜
    static int max(int x , int y)
    큰수 λ°˜ν™˜
    static int sum (int x, int y)
    합계 λ°˜ν™˜


    static Integer valueOf(int i)
    전달받은 μ •μˆ˜λ₯Ό ν¬ν•¨ν•˜λŠ” Integer 객체의 μ£Όμ†Œκ°’μ„ λ°˜ν™˜

    static Integer valueOf(String str)
    μ •μˆ˜(전달받은 λ¬Έμžμ—΄μ΄ ν‘œν˜„ν•˜λŠ”)λ₯Ό ν¬ν•¨ν•œ Integer객체의 μ£Όμ†Œκ°’μ„ λ°˜ν™˜

    static Integer valueOf(String str, int radix)
    μ •μˆ˜(전달받은 λ¬Έμžμ—΄μ΄ ν‘œν˜„ν•˜λŠ”)λ₯Ό ν¬ν•¨ν•˜λŠ” Integer 객체의 μ£Όμ†Œκ°’μ„ λ°˜ν™˜

 

int intValue()

Integer 객체가 κ°€μ§€κ³ μžˆλŠ” κΈ°λ³Έ μžλ£Œν˜•μΈ int νƒ€μž…μœΌλ‘œ λ°˜ν™˜
μ˜€ν†  언박싱이 μ§€μ›λ˜λ©΄μ„œ μ‚¬μš©ν•  일이 거의 μ—†μŒ.

Integer ex = new Integer(321);
int ad = ex.intValue(); // λͺ…μ‹œμ μœΌλ‘œ intValue() λ©”μ„œλ“œ ν˜ΈμΆœν–ˆμŒ

Integer i = new Integer(123);
int a = i; // μ˜€ν† μ–Έλ°•μ‹±μ΄ intValue() 호좜 λŒ€μ‹ ν–ˆμŒ.

 


λ°•μ‹± : κΈ°λ³Έ νƒ€μž… 데이터에 λŒ€μ‘ν•˜λŠ” Wrapper 클래슀둜 λ§Œλ“œλŠ” λ™μž‘

μ–Έλ°•μ‹± : Wrapper ν΄λž˜μŠ€μ—μ„œ κΈ°λ³Έ νƒ€μž…μœΌλ‘œ λ³€ν™˜

πŸ”Ή μ˜€ν†  λ°•μ‹±

  • κΈ°λ³Έμžλ£Œν˜• 값을 Wrapper 클래슀 νƒ€μž…μ˜ λ³€μˆ˜μ— μ €μž₯μ‹œν‚€λ©΄ μžλ™μœΌλ‘œ ν•΄λ‹Ή Wrapper 클래슀둜 객체λ₯Ό 생성
  • κ·Έ 객체에 κΈ°λ³Έμžλ£Œν˜• 값을 μ €μž₯ν•˜κ³  객체의 μ£Όμ†Œκ°’μ„ μ°Έμ‘°λ³€μˆ˜μ— λŒ€μž…μ‹œν‚¨λ‹€
  • κΈ°λ³Έ 데이터 νƒ€μž…μ˜ 래퍼 클래슀의 객체둜 μžλ™λ³€ν™˜
  • 기본데이터 νƒ€μž…μ΄ 이제 객체둜 μ·¨κΈ‰
int x = 1;  xλŠ” κΈ°λ³Έμžλ£Œν˜• int의 λ³€μˆ˜
Integer x = 1; 이라고 μž‘μ„±ν•˜κ²Œλ˜λ©΄ 1은 Integer 객체둜 μžλ™λ³€ν™˜ λ˜λŠ”λ° 이것을
 μ˜€ν†  λ°•μ‹± μ΄λΌκ³ ν•œλ‹€
 
 Integer x = new Integer(1)둜 λ³€ν™˜
 x λ³€μˆ˜μ—λŠ” 이제 Integer 객체의 μ£Όμ†Œκ°€ μ €μž₯λœλ‹€.
 객체 μ•ˆμ— 1은 객체의 λ©€λ²„λ³€μˆ˜λ‘œ 쑴재
    Byte wrapper1 = 1;          // Byte wrapper1 = new Byte(1);
    Short wrapper2 = 2;         // Short wrapper2 = new Short(2);
    Integer wrapper3 = 10000;	// Integer wrapper3 = new Integer(10000);
    Long wrapper4 = 10000000L;
    Float wrapper5 = 3.14f;
    Double wrapper6 = 3.14;
    Character wrapper7 = 'A';
    Boolean wrapper8 = true;
System.out.println(wrapper1);  // " 1 "

❓ μ™œ μ •μˆ˜ 1이 μ•„λ‹Œ λ¬Έμžμ—΄ "1" ?

πŸ“Œ  Wrapper ν΄λž˜μŠ€λ“€μ€ Object 의 toString() λ©”μ„œλ“œλ₯Ό μžλ™μœΌλ‘œ ν˜ΈμΆœν•œλ‹€
      λ”°λΌμ„œ 객체가 μ €μž₯ν•˜κ³  μžˆλŠ” ν•΄λ‹Ή κΈ°λ³Έμžλ£Œν˜• μ •μˆ˜ 값을 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•΄μ„œ 좜λ ₯ν•œλ‹€

System.out.println(wrapper1.toString());

 


πŸ”Ή μ˜€ν†  μ–Έλ°•μ‹±

  • 래퍼클래슀의 객체가 μžλ™μœΌλ‘œ κΈ°λ³Έμžλ£Œν˜• κ°’μœΌλ‘œ λ³€ν™˜λ˜λŠ” 것
  • Wrapper 클래슀 νƒ€μž…μ˜ 객체λ₯Ό μ°Έμ‘°ν•˜λŠ” μ°Έμ‘°λ³€μˆ˜λ₯Ό κΈ°λ³Έμžλ£Œν˜• νƒ€μž…μ˜ λ³€μˆ˜μ— λŒ€μž…μ„ ν•œλ‹€
  • μ°Έμ‘°λ³€μˆ˜μ˜ μ£Όμ†Œκ°’μ΄ λ³€μˆ˜μ— λŒ€μž…μ΄ λ˜λŠ”κ²Œ μ•„λ‹ˆλΌ κΈ°λ³Έμžλ£Œν˜• 값을 λ³€μˆ˜μ— λŒ€μž…ν•œλ‹€

β–Ά μ •μˆ˜ , μ‹€μˆ˜ 값을 ν¬ν•¨ν•˜λŠ” Wrapper 클래슀 νƒ€μž…μ˜ 객체에 λŒ€ν•΄ 사칙연산 , 비ꡐ연산 λ“± μ‹€ν–‰ν•˜λ©΄ μžλ™μœΌλ‘œ
언박싱이 μ‹€ν–‰λ˜μ–΄ Wrapper 객체에 μ €μž₯된 κΈ°λ³Έμžλ£Œν˜• 값이 연산에 ν™œμš© λœλ‹€.

// Wrapper 클래슀 νƒ€μž…μ˜ 객체λ₯Ό μ°Έμ‘°ν•˜λŠ” μ°Έμ‘°λ³€μˆ˜
// 객체 생성
Integer a = 10; // Integer a = new Integer(10) 이게 κΈ°λ³Έλͺ¨μŠ΅
Integer b = 20;
Double d = 3.14;


// 객체 κΈ°λ³Έμžλ£Œν˜• 값이 x y z에 λŒ€μž…
int x = a;  // aλΌλŠ” 객체 μ£Όμ†Œκ°€ μ•„λ‹Œ int x = a.intValue();
int y = b;  // bλΌλŠ” 객체 μ£Όμ†Œ κ°€ μ•„λ‹Œ int y = b.intValue();
double z = d; // double z = d.doubleValue();

int result = a + b; // int result = a.intValue() + b.intValue();

 

 

πŸ”Έ StringBuilder 와 StringBuffer

String str = "이름 : " +name+ " , 이메일 : " +email+ ", μ—°λ½μ²˜ : "+ phone;

 

  • λ³€κ²½κ°€λŠ₯ν•œ λ¬Έμžμ—΄μ„ λ‹€λ£¨λŠ” 클래슀 객체 내뢀에 λ¬Έμžμ—΄μ„ μ €μž₯ν•˜λŠ” 버퍼λ₯Ό κ°€μ§€κ³ μžˆμŒ
  • μž„μ‹œμ €μž₯μ†Œ(버퍼)λ₯Ό κ°€μ§€κ³ μžˆμ–΄μ„œ append(λ‹€μ–‘ν•œνƒ€μž…μ˜ 데이터)둜 μƒˆλ‘œμš΄ 객체 생성없이 μž„μ‹œμ €μž₯μ†Œμ— 데이터 μ €μž₯
  • μž„μ‹œμ €μž₯μ†Œμ— μ €μž₯된 λ°μ΄ν„°λŠ” toString()λ₯Ό μ‹€ν–‰ν•΄ λ¬Έμžμ—΄λ‘œ μ œκ³΅λ°›μŒ
  • StringBuilder와 StrinfBuffer의 μ‚¬μš©λ²•μ€ κ°™λ‹€
    StringBuffer λ©€ν‹°μŠ€λ ˆλ“œν™˜κ²½μ—μ„œ μ•ˆμ „ν•˜κ²Œ μ‚¬μš©ν•˜μ§€λ§Œ 속도가 λŠλ¦¬λ‹€
    StringBuilder λ©€ν‹°μŠ€λ ˆλ“œ ν™˜κ²½μ—μ„œ μ•ˆμ „ν•˜μ§€ μ•Šμ§€λ§Œ 속도λ₯Ό λΉ λ₯΄λ‹€

❓ λ©€ν‹°μŠ€λ ˆλ“œ ν™˜κ²½ 

πŸ“Œ ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€μ—μ„œ μ—¬λŸ¬μŠ€λ ˆλ“œκ°€ λ™μ‹œμ— λ‹€μ–‘ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 것

 

1. λ§μ…ˆ μ—°μ‚°μžλ₯Ό μ΄μš©ν•΄μ„œ 값을 이어뢙이기

  • κ°’μ˜ κ°―μˆ˜κ°€ 적을 λ•Œ μ‚¬μš©ν•˜λŠ”κ²Œ μ’‹λ‹€
  • κ°’μ˜ κ°―μˆ˜κ°€ 많으면 λ§μ…ˆμ„ μ—¬λŸ¬ 번 μ‹€ν–‰ν•˜κ²Œ 되고, λ§μ…ˆμ΄ 싀행될 λ•Œλ§ˆλ‹€ μƒˆλ‘œμš΄ String 객체가 μƒμ„±λ˜κΈ° λ•Œλ¬Έμ—
    λ©”λͺ¨λ¦¬ λˆ„μˆ˜κ°€ λ°œμƒν•  수 μžˆλ‹€

 

2. StringBuilder 객체 ν™œμš©ν•˜κΈ°

  • StringBuilderλ₯Ό μ‚¬μš©ν•˜λ©΄ λ¬Έμžμ—΄ κ²°ν•©μ‹œ μƒˆλ‘œμš΄ 객체 내뢀에 μž„μ‹œμ €μž₯μ†Œλ₯Ό 가진닀
  • λ©”λͺ¨λ¦¬ μ‚¬μš©κ³Ό μ„±λŠ₯μ—μ„œ νš¨μœ¨μ μ΄λ‹€ λ¬Έμžμ—΄μ΄ 많이 λ³€κ²½λ˜κ±°λ‚˜ , 큰 λ¬Έμžμ—΄μ„ λ‹€λ£° λ•Œ Builderλ₯Ό ꢌμž₯ν•œλ‹€κ³  ν•œλ‹€
  • append(κ°’) λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•΄μ„œ 값을 μΆ”κ°€ν•˜λ©΄ μž„μ‹œμ €μž₯μ†Œμ— μ €μž₯될 뿐 μƒˆλ‘œμš΄ 객체가 μƒμ„±λ˜μ§€λŠ” μ•ŠλŠ”λ‹€

 

β–Ά μ†”μ§νžˆ μ•„μ§κΉŒμ§€λŠ” ' + ' μ—°μ‚°μžκ°€ μ΅μˆ™ν•˜κ³  마음 νŽΈν•˜λ‹€.. λ‹€μŒκΈ°νšŒμ— λ§Žμ€ λ¬Έμžμ—΄μ„ λ‹€λ£° λ•Œ
 StringBuilderλ₯Ό μ‚¬μš© ν•΄λ³΄μž!

StringBuilder sb = new StringBuilder();
sb.append("번호");
sb.append(no);
sb.append("이름");
sb.append(name);
sb.append("μ—°λ½μ²˜");
sb.append(tel);
 public static void main(String[] args) {

        int no = 100;
        String name = "κΈ°μ„ ν•œ";
        String tel = "010-4568-9632";

        StringBuilder sb = new StringBuilder();

        // StringBuilder 의 append() λ©”μ„œλ“œλŠ” StringBuilder 객체λ₯Ό λ°˜ν™˜
        // append() λ©”μ„œλ“œμ˜ μ‹€ν–‰ κ²°κ³Όκ°€ StringBuilder 객체 이기 λ•Œλ¬Έμ—
        // append() λ©”μ„œλ“œμ— μ΄μ–΄μ„œ λ‹€μ‹œ append() λ©”μ„œλ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” 것이 κ°€λŠ₯
        // μ΄λŸ°μ‹μ˜ μ‹€ν–‰ 방식을 Method chaining
        String text = sb.append("번호 : ")
                .append(no)
                .append(", 이름 : ")
                .append(name)
                .append(" , μ „ν™”λ²ˆν˜Έ : ")
                .append(tel)
                .toString();

        System.out.println(text);

        // λ©”μ„œλ“œ 체이닝 ν™œμš©
        // 1번
        String sample = "Hello , IntelliJ";
        String sample2 = sample.toUpperCase();
        String sample3 = sample2.substring(8, 16);
        String sample4 = sample3.replace("E", "*");
        System.out.println(sample4);

        // 2번
        String fi_sample = "Hello , IntelliJ"
                .toUpperCase()
                .substring(8, 16)
                .replace("E", "*");

        System.out.println(fi_sample);

    }

πŸ”Έ Date

  • μ‹œμŠ€ν…œμ˜ ν˜„μž¬ λ‚ μ§œμ™€ μ‹œκ°„μ •λ³΄λ₯Ό ν‘œν˜„ν•˜λŠ” 클래슀
  • java.lang μ΄μ•„λ‹Œ java.util νŒ¨ν‚€μ§€μ— μžˆλ‹€
  • new Date()  ν˜„μž¬ λ‚ μ§œμ™€ μ‹œκ°„μ •λ³΄κ°€ ν¬ν•¨λœ 객체가 생성
  • new Date(long μœ λ‹‰μŠ€νƒ€μž„) μ§€μ •λœ μœ λ‹‰μŠ€νƒ€μž„μ— ν•΄λ‹Ήν•˜λŠ” λ‚ μ§œμ™€ μ‹œκ°„μ •λ³΄κ°€ ν¬ν•¨λœ 객체 생성
// μ‹œμŠ€ν…œμ˜ ν˜„μž¬ λ‚ μ§œ , μ‹œκ°„ 
Date now = new Date();

// μ§€μ •λœ μœ λ‹‰μŠ€νƒ€μŒ (long κ°’)에 ν•΄λ‹Ήν•˜λŠ” λ‚ μ§œμ™€ μ‹œκ°„μ •λ³΄
Date date = new Date(0);
boolean after(Date when)
// μ§€μ •λœ λ‚ μ§œλ³΄λ‹€ 이후 λ‚ μ§œμΈμ§€ 확인

boolean before(Date when)
// μ§€μ •λœ λ‚ μ§œλ³΄λ‹€ 이전 λ‚ μ§œμΈμ§€ 확인

int compareTo(Date other)
// μ§€μ •λœ λ‚ μ§œμ™€ μˆœμ„œλ₯Ό 비ꡐ

long getTime()
// μœ λ‹‰μŠ€ νƒ€μž„λ°˜ν™˜

  Date now = new Date();
  long unxTime = now.getTime(); 
  // 1970λ…„ 1μ›” 1일 0μ‹œ 0λΆ„ 0μ΄ˆλΆ€ν„° ν˜„μž¬ μ‹―μ κΉŒμ§€μ˜ μ‹œκ°„μ„ 1/1000초 λ‹¨μœ„λ‘œ ν™˜μ‚°ν•œ 값이 λ°˜ν™˜λœλ‹€.

 

πŸ”Ή λ‚ μ§œμ™€ μ‹œκ°„ API

  • java.util.Date : λ‚ μ§œ, μ‹œκ°„, μ‹œκ°„λŒ€ 정보λ₯Ό μ œκ³΅ν•œλ‹€
  • java.util.Calendar : λ‚ μ§œ, μ‹œκ°„, λ‚ μ§œ μ‘°μž‘κ³Ό κ΄€λ ¨λœ λ‹€μ–‘ν•œ λ©”μ†Œλ“œλ₯Ό μ œκ³΅ν•œλ‹€. ( λ‚ μ§œμ— λŒ€ν•œ 더 λ‹€μ–‘ν•œ 정보λ₯Ό 제곡 )
  • java.text.SimpleDateFormat : λ‚ μ§œμ™€ ν…μŠ€νŠΈ λ³€ν™˜μ„ μ§€μ›ν•œλ‹€

πŸ”Ή Time 

•  λ…„ , μ›” , 일 λ‚ μ§œλ₯Ό ν‘œν˜„ν•˜λŠ” 클래슀

LocalDate

 

•  μ‹œ , λΆ„ , 초 μ‹œκ°„μ„ ν‘œν˜„ν•˜λŠ” 클래슀

LocalTime

 

•  λ…„ , μ›” , 일 , μ‹œ , λΆ„ , 초λ₯Ό ν‘œν˜„ν•˜λŠ” 클래슀

LocalDateTime

 

•  1970λ…„ 1μ›” 1일뢀터 μ‹œκ°„μ„ λ°€λ¦¬μ΄ˆ λ‹¨μœ„λ‘œ μ„ΈλŠ” 클래슀

Instant

 

πŸ”Ή κΈ°κ°„ κ΄€λ ¨ 클래슀

• 두 λ‚ μ§œ μ‚¬μ΄μ˜ 기간을 λ…„ , μ›” , 일둜 ν‘œν˜„ν•˜λŠ” 클래슀

Period

 

• 두 λ‚ μ§œ μ‚¬μ΄μ˜ 기간을 일 , μ‹œ , λΆ„ , 초둜 ν‘œν˜„ν•˜λŠ” 클래슀

Duration

πŸ”Ή ν¬λ§·νŒ… format

πŸ“Œ λ‚ μ§œμ™€ 문자 μˆ«μžμ™€ 문자 κ°„μ˜ μƒν˜Έλ³€ν™˜ μ§€μ›ν•œλ‹€

  • λ‚ μ§œ Date λ₯Ό μ§€μ •λœ νŒ¨ν„΄μ˜ λ¬Έμžμ—΄λ‘œ λ³€ν™˜
  • 숫자 - int long double λ₯Ό μ§€μ •λœ νŒ¨ν„΄μ˜ λ¬Έμžμ—΄λ‘œ λ³€ν™˜
  • λ‚ μ§œν˜•μ‹μœΌλ‘œ μž‘μ„±λœ λ¬Έμžμ—΄μ„ λ‚ μ§œ Date둜 λ³€ν™˜
  • 숫자 ν˜•μ‹μœΌλ‘œ μž‘μ„±λœ λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜

 

πŸ”Ή λ‚ μ§œ ν¬λ§·νŒ…

SimpleDateFormat
  • Date객체의 λ‚ μ§œμ™€ μ‹œκ°„μ •λ³΄λ₯Ό μ§€μ •λœ 포맷의 ν…μŠ€νŠΈλ‘œ λ³€ν™˜

λ©”μ„œλ“œ

SimpleDateFormat(String pattern)
                    - μ§€μ •λœ νŒ¨ν„΄μœΌλ‘œ λ‚ μ§œμ™€ ν…μŠ€νŠΈκ°„μ˜ λ³€ν™˜μ„ μ§€μ›ν•˜λŠ” 객체

String format(Date date)
    Date 객체의 λ‚ μ§œμ™€ μ‹œκ°„ 정보λ₯Ό μƒμ„±μžμ—μ„œ μ§€μ •ν•œ νŒ¨ν„΄μ— λ§žλŠ” ν¬λ§·ν˜•μ‹μ˜ ν…μŠ€νŠΈλ‘œ λ³€ν™˜
Date parse(String text)
    ν…μŠ€νŠΈκ°€ μƒμ„±μžμ—μ„œ μ§€μ •ν•œ ν˜•μ‹μœΌλ‘œ μž‘μ„±λœ λ‚ μ§œμ™€ μ‹œκ°„μ •λ³΄λΌλ©΄
    ν…μŠ€νŠΈμ— ν•΄λ‹Ήν•˜λŠ” λ‚ μ§œμ™€ μ‹œκ°„μ •λ³΄λ₯Ό 가진 Date객체둜 λ³€ν™˜ν•΄μ„œ λ°˜ν™˜ν•œλ‹€
  Date now = new Date();

        String pattern1 = "yyyy-MM-dd";    // 주의 YYYY - MM -DD ν•˜λ©΄ λ‹€λ₯Έ κ²°κ³Ό
        SimpleDateFormat sdf = new SimpleDateFormat(pattern1);
        String text = sdf.format(now);

        System.out.println(text);

        sdf.applyPattern("yyyy-M-d");
        String text2 = sdf.format(now);
        System.out.println(text2);

        sdf.applyPattern("yyyyλ…„ Mμ›” d일");
        String text3 = sdf.format(now);
        System.out.println(text3);

        sdf.applyPattern("Mμ›” d일 EEEE");
        String text5 = sdf.format(now);
        System.out.println(text5);

        sdf.applyPattern("HH:mm:ss");
        String text6 = sdf.format(now);
        System.out.println(text6);

        sdf.applyPattern("hh:mm:ss");
        String text7 = sdf.format(now);
        System.out.println(text7);

        sdf.applyPattern("a hμ‹œ mλΆ„ s초");
        String text8 = sdf.format(now);
        System.out.println(text8);

        sdf.applyPattern("yyyy-MM-dd HH:mm:ss");
        String text9 = sdf.format(now);
        System.out.println(text9);

        String basicText = DateUtils.dateToString(now);
        System.out.println(basicText);

        String textDetail = DateUtils.dateToDetailString(now);
        System.out.println(textDetail);

 

public class CalendarApp {

    public static void main(String[] args) {

        Calendar cal = Calendar.getInstance();
        // Calendar λŠ” abstract 클래슀 라고 λ©”μ‹œμ§€ λ°œμƒν•¨

        /*
        int get(int field)
            - Calendarκ°μ²΄μ—μ„œ field에 ν•΄λ‹Ήν•˜λŠ” 정보λ₯Ό λ°˜ν™˜

         void set(int field , int value)
            - Calendar κ°μ²΄μ—μ„œ μ§€μ •λœ field 에 ν•΄λ‹Ήν•˜λŠ”μ •λ³΄λ₯Ό λ³€κ²½ν•œλ‹€
         */

        cal.set(Calendar.MONTH, 2); // 월을 2μ›”λ‘œ 지정함

        // λ‚ μ§œμ™€ μ‹œκ°„μ„ 쑰회
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH) + 1;
        int day = cal.get(Calendar.DAY_OF_MONTH);
        int hours = cal.get(Calendar.HOUR_OF_DAY);
        int minutes = cal.get(Calendar.MINUTE);
        int seconds = cal.get(Calendar.SECOND);

        System.out.println("λ…„ : " + year);
        System.out.println("μ›” : " + month);
        System.out.println("일 : " + day);
        System.out.println("μ‹œ : " + hours);
        System.out.println("λΆ„ : " + minutes);
        System.out.println("처 : " + seconds);

        Date dt = cal.getTime();
        System.out.println(dt);

 

728x90

'Language > Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Java Iterator , Score CRUD  (1) 2023.11.17
Java Random , Math  (0) 2023.11.16
Java System , String  (1) 2023.11.14
Java final , Object , toString  (1) 2023.11.13
Java (6) 객체지ν–₯ - μ ‘κ·Όμ œμ–΄μž , λ‚΄λΆ€ν΄λž˜μŠ€  (0) 2023.11.13