JS BASIC | Math, Date

chaen·2024년 1월 24일
0

JS Grammar

목록 보기
20/28
post-thumbnail

💻 Math

  • 표준 built-in 객체로, 수학적인 연산을 위한 속성값과 메서드를 제공
  • 생성자 함수가 아니며, 모든 속성과 메서드는 정적이기에 Math.function()으로 언제든지 호출 가능하다.

대표 속성 및 메서드

속성설명
Math.E오일러 상수(e)
Math.PIPI(π)
Math. abs(x)절대값
Math. max(x)최소값
Math. random()랜덤 난수 값
Math. pow(x, y)(x ** y) 제곱
Math.sqrt( )제곱근

소수점 처리

속성설명
Math. round반올림
Math.ceil올림
Math.floor내림

베열의 요소들을 활용하고 싶을 때 → Math.max.apply( null, arr ) or Math.max( …arr )

랜덤한 소수값이 반환됨. 정수를 반환하고 싶다면 ⇒ Number.parseInt ( Math. random( ) * 10 )

Date

  • 표준 Buit-in 객체로서 날짜와 시간을 위한 속성 값과 메서드를 제공하는 객체다
  • Date 객체는 1970년 1월 1일 UTC 자정과의 시간 차이를 밀리초로 나타내는 정수값으로 표현

생성 / 현재 시점

속성설명범위
Date()현재 시간 기준 문자열
new Date()Date 객체 생성
new Date(milliseconds)UTC 기준 1970/01/01/00:00에서 밀리초 후의 시점0 ~ 999
new Date(datestring)datestring인 날짜를 분석하여 출력YYYYMMDD
new Date(year, month, date, hours, minutes, seconds, ms)주어진 인수를 조합해 만들 수 있는 날짜가 저장된 객체 반환

날짜 정보 얻기

속성설명범위
Date.getFullYear()년도YYYYMMDD
Date.getMonth()0 ~ 11
Date.getDate()1 ~ 31
Date.getHours()0 ~ 23
Date. getMinutes()0 ~ 59
Date. getSeconds()0 ~59
Date. getMilliseconds()밀리초0 ~ 999
Date. getDay()날짜 (일(0) ~ 토(6))0 ~ 6
Date. getTime()현재 - 1970/1/1를 밀리초(millisecond)로 변환
Date.getTimezoneOffset()현지 시간 - 표준 시간 (UTC+0)을 분(min)으로 변환
Date.toDateString()시간 제외 날짜만 출력
Date.toLocaleString()현지 날짜 표기법대로 출력

날짜 정보 설정 (년/월/일/시/분/초)

속성설명범위
Date. setFullYear()년도YYYYMMDD
Date. setMonth()0 ~ 11
Date. setDate()1 ~ 31
Date. setHours()0 ~ 23
Date. setMinutes()0 ~ 59
Date. setSeconds()0 ~59
Date. setMilliseconds()밀리초0 ~ 999
Date. setTime()1970/1/1 00:00 부터 밀리초 단위로 표현되는 특정 시간

parse

메서드 Date.parse(str)를 사용하면 문자열에서 날짜를 읽어올 수 있다.
단, 문자열의 형식은 아래와 같아야 한다.

Date.parse("YYYY-MM-DDTHH:mm:ss:sssZ)

YYYY-MM-DD → 날짜(연-월-일)
T → 구분 기호
HH:mm:ss:sss → 시:분:초.밀리초
Z(option) → 설정 x: 현지 기준 / 설정 o: UTC+0 기준

YYYY-MM-DD, YYYY-MM, YYYY같이 더 짧은 문자열 형식도 가능하며, 문자열 형식이 조건에 부합하지 않을 경우엔 NaN이 반환된다.

let ms = Date.parse('2012-01-26T13:51:50.417-07:00'); // 1327611110417

참고
https://www.freecodecamp.org/korean/news/how-to-format-dates-in-javascript/

0개의 댓글