Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- SasS
- string
- 변수
- computed
- github
- array
- vue.js
- JS
- 자료형
- 알고리즘
- sorting
- 파이썬
- Python
- 자료구조
- scss
- dynamic programming
- math
- Algorithm
- hash table
- leetcode
- CSS
- 프로그래머스
- java
- greedy
- JavaSceipt
- HTML
- JavaScript
- 백준
- 컴포넌트
- 코딩테스트
Archives
- Today
- Total
Posis
[JavaScript] 숫자, 가격, 날짜 사용하기 편리한 메서드 본문
숫자 간결하게 나타내기
ko
const views = 9744642;
const formatter = new Intl.NumberFormat(`ko`);
const formatter2 = new Intl.NumberFormat(`ko`, {
notation: 'compact'
});
console.log(formatter.format(views)); // 9,744,642
console.log(formatter2.format(views)); // 974만
en
const views = 9744642;
const views2 = 154270;
const formatter = new Intl.NumberFormat(`en`);
const formatter2 = new Intl.NumberFormat(`en`, {
notation: 'compact'
});
const formatter3 = new Intl.NumberFormat(`en`, {
notation: 'compact'
});
const formatter4 = new Intl.NumberFormat(`en`, {
notation: 'compact',
compactDisplay: 'long'
});
console.log(formatter.format(views)); // 9,744,642
console.log(formatter2.format(views2)); // 154K
console.log(formatter3.format(views)); // 9.7M
console.log(formatter4.format(views)); // 9.7 million
브라우저 언어에 맞춰서 표시하기
const formatter = new Intl.NumberFormat(navigator.language);
// ko -> 974만
// en -> 9.7M
ko, en을 표시하는 곳에 navigator.language를 적어주면 브라우저에 설정된 언어를 확인하고 맞춰서 출력해 줍니다.
가격 표시하기
ko
const price = 10000;
const formatter = new Intl.NumberFormat('ko', {
style: 'currency',
currency: 'krw',
notation: 'compact'
});
const formatter2 = new Intl.NumberFormat('ko', {
style: 'currency',
currency: 'krw'
});
console.log(formatter.format(price)); // ₩1만
console.log(formatter2.format(price)); // ₩10,000
en
const price = 10000;
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'usd',
notation: 'compact'
});
const formatter2 = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'usd'
});
console.log(formatter.format(price)); // $10K
console.log(formatter2.format(price)); // $10,000.00
시간 표시하기
ko
const formatter = new Intl.RelativeTimeFormat('ko', {
numeric: 'auto'
});
console.log(formatter.format(1, 'day')); // 내일
console.log(formatter.format(2, 'day')); // 모레
console.log(formatter.format(-1, 'day')); // 어제
console.log(formatter.format(-2, 'day')); // 그저께
const formatter2 = new Intl.RelativeTimeFormat('ko');
console.log(formatter2.format(1, 'day')); // 1일 후
console.log(formatter2.format(2, 'day')); // 2일 후
console.log(formatter2.format(-1, 'day')); // 1일 전
console.log(formatter2.format(-2, 'day')); // 2일 전
en
const formatter = new Intl.RelativeTimeFormat('en', {
numeric: 'auto'
});
console.log(formatter.format(1, 'day')); // tomorrow
console.log(formatter.format(2, 'day')); // in 2 days
console.log(formatter.format(-1, 'day')); // yesterday
console.log(formatter.format(-2, 'day')); // 2 days ago
const formatter2 = new Intl.RelativeTimeFormat('en');
console.log(formatter2.format(1, 'day')); // in 1 day
console.log(formatter2.format(2, 'day')); // in 2 day
console.log(formatter2.format(-1, 'day')); // 1 day ago
console.log(formatter2.format(-2, 'day')); // 2 day ago
날짜 계산하기
new Date에 월을 적는 monthIndex는 1~12를 적는 게 아니라 0부터 시작이기 때문에 0~11을 적어야 합니다.
const formatter = new Intl.RelativeTimeFormat('ko', {
numeric: 'auto'
});
const today = new Date();
const started = new Date(2021, 6, 28);
const daysPassed = Math.ceil((started - today) / (1000 * 60 * 60 * 24));
console.log(`블로그 운영 시작일: ${formatter.format(daysPassed, 'day')}`);
// 블로그 운영 시작일: 532일 전
날짜/시간 제대로 포맷하기
날짜
const date = new Date(2021, 1, 28);
console.log(date.toLocaleDateString('ko')); // 2021. 2. 28
console.log(date.toLocaleDateString()); // 2/28/2021
const formatter = new Intl.DateTimeFormat('ko').format(date);
const formatter2 = new Intl.DateTimeFormat('en').format(date);
console.log(formatter); // 2021. 2. 28
console.log(formatter2); // 2/28/2021
날짜/시간
const date = new Date(2021, 1, 28);
console.log(date.toLocaleDateString('ko', {
minute: 'numeric',
hour: 'numeric',
day: 'numeric',
month: 'short',
year: 'numeric',
weekday: 'long'
}));
// 2021년 2월 28일 일요일 오전 12:00
weekday: 'short' // (일)
728x90
'JavaScript' 카테고리의 다른 글
[JavaScript] js 파일을 불러오는 방식 async와 defer (2) | 2023.01.15 |
---|---|
[JavaScript] 자료형 (0) | 2023.01.09 |
[JavaScript] js의 역할 (0) | 2023.01.09 |
[JavaScript] 비구조화 할당 (0) | 2021.12.27 |
[JavaScript] 배열 내장 함수 (1) | 2021.12.16 |