Dorothy_YANG
With Dorothy
Dorothy_YANG
전체 방문자
오늘
어제
  • 분류 전체보기 (279)
    • Hi, I'm Dorothy 🕵️‍♂️ (21)
      • Slowly but Surely (18)
      • IT certifications (3)
    • 🤯TIL (80)
      • HTML & CSS (2)
      • Javascript & jQuery (13)
      • React (13)
      • C언어 (1)
      • JAVA (22)
      • Python (2)
      • Oracle SQL (10)
      • My SQL (5)
      • Spring (12)
    • 💻Programmers (17)
    • 🏫 Open API_JAVA (101)
    • 🌎 Project (10)
      • Shopping (10)
    • 💥 Error (24)
    • ⚙ Setting (23)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 노마드코더
  • java
  • 파이썬온라인
  • spring
  • 오류해결
  • 기간쿼리
  • oracle
  • 이것이자바다
  • 비쥬얼스튜디오코드
  • 창초기화
  • colaboratory
  • CSS
  • 독학후기
  • SQL
  • 코딩앙마
  • 백준
  • AllArgsConstructor
  • googlecolaboratory
  • 콜라보레이토리
  • 서버등록
  • Database
  • 연습문제
  • Eclipse
  • sql기간
  • HTML
  • 기간설정
  • SQLD합격
  • Javascript
  • 시작일종료일
  • SQLD합격후기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dorothy_YANG

With Dorothy

[43일차] Math, Random 클래스 / Date, Calendar 클래스 /  Format 클래스 / java.time 패키지
🏫 Open API_JAVA

[43일차] Math, Random 클래스 / Date, Calendar 클래스 / Format 클래스 / java.time 패키지

2022. 9. 23. 23:17
728x90

20220922(목)

  • 목차 (API 클래스)
    - Math, Random 클래스
    - Date, Calendar 클래스
    - Format 클래스
    - java.time 패키지

< Math, Random 클래스 > 

  • Math 클래스 - JavaScript와 거의 동일
    수학 계산에 사용할 수 있는 정적 메소드 제공
  • Random 클래스
    boolean, int, long, float, double 난수 입수 가능
    난수를 만드는 알고리즘에 사용되는 종자값(seed) 설정 가능
    종자값이 같으면 같은 난수

  • Random 클래스로 부터 Random객체 생성하는 방법
Random() Random(long seed)
호출시마다 다른 종자값(현재시간 이용)이 자동 설정됨 매개값으로 주어진 종자값이 설정됨

 

  • Random 클래스가 제공하는 메소드
nextBoolean() boolean 타입의 난수를 리턴
nextDouble() double  타입의 난수를 리턴(0.0 <= ~ < 1.0)
nextInt() int 타입의 난수를 리턴(-2의 23승 <= ~ <= 2의 32승 -1
nextInt(int n) int 타입의 난수를 리턴(0 <= ~ < n)

 


< Date, Calendar 클래스 >

Date 클래스 Calendar 클래스
날짜를 표현하는 클래스
날짜 정보를 객체간에 주고 받을 때 주로 사용
달력을 표현한 추상 클래스

 


< Format 클래스 >

숫자와 날짜를 원하는 형식의 문자열로 변환

 

(1) 숫자 형식 클래스 : DemicalFormat
적용할 패턴 선택해 생성자 매개값으로 지정 후 객체 생성

(2) 날짜 형식 클래스 : SimpleDateFormat

(3) 매개변수화 된 문자열 형식: MessageFormat


< java.time 패키지 >

  • java.time 패키지란?
    자바 8부터 추가된 패키지
    날짜와 시간을 나타내는 여러가지 API가 새롭게 추가됨
    날짜와 시간을 조작하거나 비교하는 기능이 추가됨
    (Date와 Calendar는 날짜와 시간을 조작하거나 비교하는 기능이 불충분)

 

(1) 날짜와 시간 객체 생성

클래스명 설명
LocalDate 로컬 날짜 클래스
LocalTime 로컬 시간 클래스
LocalDateTime 로컬 날짜 및 시간 클래스(LocalDate + LocalTime)
ZonedDateTime 특정 타임존(TimeZone)의 날짜와 시간 클래스
Instant 특정 시점의 Time-Stamp 클래스

(2) 날짜와 시간에 대한 정보 얻기

 

LocalDateTime/ZonedDateTime
isLeapYear()는 toLocalDate() 메소드로 LocalDate로 변환 후 사용
ZonedDateTime에서 제공하는 추가 메소드


(3) 날짜와 시간을 조작하기

빼기와 더하기 변경하기
빼기 – minus + 변수 (long) 의 형태
Ex) minusYears(long)  년 빼기

더하기 – plus + 변수 (long) 의 형태
with(TemporalAdjuster adjuster) 
현재 날짜를 기준으로 상대적 날짜 리턴

 TemporalAdjuster 객체는 아래 표에 있는 정적 메소드로 얻음

(4) 날짜와 시간을 비교하기

  • 날짜와 시간의 양을 나타내는 클래스
Period Duration
년, 달, 일의 양을 나타내는 날짜 기준 클래스 시, 분, 초, 나노초의 양을 나타내는 시간 기준 클래스

 

  • between() 메소드의 차이점
    - Period와 Duration의 between() :  년, 달, 일, 초의 단순 차이를 리턴
    - ChronoUnit의 between() :  전체 시간을 기준으로 차이를 리턴

(5) 파싱과 포맷팅

파싱(Parsing) 메소드 포맷팅(Formatting) 메소드
parsing : 변환 (Integer.pars~시작 메소드 = 변환 메소드)
주어진 문자열로 날짜와 시간을 생성
상황에 맞는 포맷 변환 같이 사용
날짜와 시간을 포맷팅된 문자열로 변환

 

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

'🏫 Open API_JAVA' 카테고리의 다른 글

[45일차] 동기화 메소드와 동기화 블록 / 스레드 상태 / 스레드 상태 제어 / 데몬 스레드  (0) 2022.09.27
[44일차] 멀티 스레드 개념 / 작업 스레드 생성과 실행 / 스레드 우선순위  (0) 2022.09.26
[42일차] String 클래스 / String Tokenizer 클래스 / String Buffer, String Builder 클래스 / 정규 표현식과 Pattern 클래스 / Arrays 클래스 / 포장(Wrapper) 클래스 (API 클래스)  (0) 2022.09.22
[41일차] 자동 리소스 닫기 / 사용자 정의 예외와 예외 발생 / java.lang과 java.util 패키지 / Object 클래스 / Tomcat 설치  (0) 2022.09.21
[40일차] 인터페이스 상속 / 디폴트 메소드와 인터페이스 확장 / 중첩 클래스 / 익명 객체 / 예외처리  (0) 2022.09.20
    '🏫 Open API_JAVA' 카테고리의 다른 글
    • [45일차] 동기화 메소드와 동기화 블록 / 스레드 상태 / 스레드 상태 제어 / 데몬 스레드
    • [44일차] 멀티 스레드 개념 / 작업 스레드 생성과 실행 / 스레드 우선순위
    • [42일차] String 클래스 / String Tokenizer 클래스 / String Buffer, String Builder 클래스 / 정규 표현식과 Pattern 클래스 / Arrays 클래스 / 포장(Wrapper) 클래스 (API 클래스)
    • [41일차] 자동 리소스 닫기 / 사용자 정의 예외와 예외 발생 / java.lang과 java.util 패키지 / Object 클래스 / Tomcat 설치
    Dorothy_YANG
    Dorothy_YANG
    Slowly but Surely, 비전공 문과생의 개발공부

    티스토리툴바