νμ€ λΉνΈμΈ κ°μ²΄μΈ Dataλ λ μ§μ μκ°μ μν λ©μλ€μ μ 곡νλ λΉνΈμΈ κ°μ²΄μ΄λ©΄μ μμ±μ ν¨μλ€.
Date μμ±μ ν¨μλ₯Ό μΈμ μμ΄ new μ°μ°μμ ν¨κ» νΈμΆνλ©΄ νμ¬ λ μ§μ μκ°μ κ°λ Date κ°μ²΄λ₯Ό λ°ννλ€. Date κ°μ²΄λ λ΄λΆμ μΌλ‘ λ μ§μ μκ°μ λνλ΄λ μ μκ°μ κ°μ§λ§ Date κ°μ²΄λ₯Ό μ½μμ μΆλ ₯νλ©΄ κΈ°λ³Έμ μΌλ‘ λ μ§μ μκ° μ 보λ₯Ό μΆλ ₯νλ€.
new Date(); // -> Mon Jul 06 2020 01:03:18 GMT+0900 (λνλ―Όκ΅ νμ€μ)
Date(); // -> "Mon Jul 06 2020 01:10:47 GMT+0900 (λνλ―Όκ΅ νμ€μ)"
Date μμ±μ ν¨μλ₯Ό new μ°μ°μ μμ΄ νΈμΆνλ©΄ Date κ°μ²΄λ₯Ό λ°ννμ§ μκ³ λ μ§μ μκ° μ 보λ₯Ό λνλ΄λ λ¬Έμμ΄μ λ°ννλ€.
Date(); // -> "Mon Jul 06 2020 01:10:47 GMT+0900 (λνλ―Όκ΅ νμ€μ)"
Date μμ±μ ν¨μμ μ«μ νμ μ λ°λ¦¬μ΄λ₯Ό μΈμλ‘ μ λ¬νλ©΄ 1970λ 1μ 1μΌμ κΈ°μ μΌλ‘ μΈμλ‘ μ λ¬λ λ°λ¦¬μ΄λ§νΌ κ²½κ³Όν λ μ§μ μκ°μ λνλ΄λ Date κ°μ²΄λ₯Ό λ°ννλ€.
// νκ΅ νμ€μ KSTλ νμ μΈκ³μ UTCμ 9μκ°μ λν μκ°μ΄λ€.
new Date(0); // -> Thu Jan 01 1970 09:00:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
/*
86400000msλ 1dayλ₯Ό μλ―Ένλ€.
1s = 1,000ms
1m = 60s * 1,000ms = 60,000ms
1h = 60m * 60,000ms = 3,600,000ms
1d = 24h * 3,600,000ms = 86,400,000ms
*/
new Date(86400000); // -> Fri Jan 02 1970 09:00:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
Date μμ±μ ν¨μμ λ μ§μ μκ°μ λνλ΄λ λ¬Έμμ΄μ μΈμλ‘ μ λ¬νλ©΄ μ§μ λ λ μ§μ μκ°μ λνλ΄λ Date κ°μ²΄λ₯Ό λ°ννλ€.
new Date('May 26, 2020 10:00:00');
// -> Tue May 26 2020 10:00:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
new Date('2020/03/26/10:00:00');
// -> Thu Mar 26 2020 10:00:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
Date μμ±μ ν¨μμ μ°, μ, μΌ, μ λΆ μ΄, λ°λ¦¬μ΄λ₯Ό μλ―Ένλ μ«μλ₯Ό μΈμλ‘ μ λ¬νλ©΄ μ§μ λ λ μ§μ μκ°μ λνλ΄λ Date κ°μ²΄λ₯Ό λ°ννλ€. μ΄λ μ°, μμ λ°λμ μ§μ ν΄μΌ νλ€.
// μμ λνλ΄λ 2λ 3μμ μλ―Ένλ€. 2020/3/1/00:00:00:00
new Date(2020, 2);
// -> Sun Mar 01 2020 00:00:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
// μμ λνλ΄λ 2λ 3μμ μλ―Ένλ€. 2020/3/26/10:00:00:00
new Date(2020, 2, 26, 10, 00, 00, 0);
// -> Thu Mar 26 2020 10:00:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
// λ€μμ²λΌ νννλ©΄ κ°λ
μ±μ΄ ν¨μ¬ μ’λ€.
new Date('2020/3/26/10:00:00:00');
// -> Thu Mar 26 2020 10:00:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
1970λ 1μ 1μΌ 00:00:00(UTC)μ κΈ°μ μΌλ‘ νμ¬ μκ°κΉμ§ κ²½κ³Όν λ°λ¦¬μ΄λ₯Ό μ«μλ‘ λ°ννλ€.
const now = Date.now(); // -> 1593971539112
// Date μμ±μ ν¨μμ μ«μ νμ
μ λ°λ¦¬μ΄λ₯Ό μΈμλ‘ μ λ¬νλ©΄ 1970λ
1μ 1μΌ 00:00:00(UTC)μ
// κΈ°μ μΌλ‘ μΈμλ‘ μ λ¬λ λ°λ¦¬μ΄λ§νΌ κ²½κ³Όν λ μ§μ μκ°μ λνλ΄λ Date κ°μ²΄λ₯Ό λ°ννλ€.
// (30.1.2μ "new Date(milliseconds)" μ°Έκ³ )
new Date(now); // -> Mon Jul 06 2020 02:52:19 GMT+0900 (λνλ―Όκ΅ νμ€μ)
1970λ 1μ 1μΌ 00:00:00(UTC)μ κΈ°μ μΌλ‘ μΈμλ‘ μ λ¬λ μ§μ μκ°(new Date(dateString)μ μΈμμ λμΌν νμ)κΉμ§μ λ°λ¦¬μ΄λ₯Ό μ«μλ‘ λ°ννλ€.
// UTC
Date.parse('Jan 2, 1970 00:00:00 UTC'); // -> 86400000
// KST
Date.parse('Jan 2, 1970 09:00:00'); // -> 86400000
// KST
Date.parse('1970/01/02/09:00:00'); // -> 86400000
1970λ 1μ 1μΌ 00:00:00(UTC)μ κΈ°μ μΌλ‘ μΈμλ‘ μ λ¬λ μ§μ μκ°κΉμ§μ λ°λ¦¬μ΄λ₯Ό μ«μλ‘ λ°ννλ€.
Date.UTC(1970, 0, 2); // -> 86400000
Date.UTC('1970/1/2'); // -> NaN
Date κ°μ²΄μ μ°λλ₯Ό λνλ΄λ μ μλ₯Ό λ°ννλ€.
new Date('2020/07/24').getFullYear(); // -> 2020
Date κ°μ²΄μ μ°λλ₯Ό λνλ΄λ μ μλ₯Ό μ€μ νλ€. μ°λ μ΄μΈμ μ΅μ μΌλ‘ μ, μΌλ μ€μ ν μ μλ€.
const today = new Date();
// λ
λ μ§μ
today.setFullYear(2000);
today.getFullYear(); // -> 2000
// λ
λ/μ/μΌ μ§μ
today.setFullYear(1900, 0, 1);
today.getFullYear(); // -> 1900
Date κ°μ²΄μ μμ λνλ΄λ 0 ~ 11μ μ μλ₯Ό λ°ννλ€. 1μμ 0μ΄λ€.
new Date('2020/07/24').getMonth(); // -> 6
Date κ°μ²΄μ μμ λνλ΄λ 0 ~ 11μ μ μλ₯Ό μ€μ νλ€. μ΅μ μΌλ‘ μΌλ μ€μ ν μ μλ€.
const today = new Date();
// μ μ§μ
today.setMonth(0); // 1μ
today.getMonth(); // -> 0
// μ/μΌ μ§μ
today.setMonth(11, 1); // 12μ 1μΌ
today.getMonth(); // -> 11
Date κ°μ²΄μ λ μ§(1~31)λ₯Ό λνλ΄λ μ μλ₯Ό λ°ννλ€.
new Date('2020/07/24').getDate(); // -> 24
Date κ°μ²΄μ λ μ§(1~31)λ₯Ό λνλ΄λ μ μλ₯Ό μ€μ νλ€.
const today = new Date();
// λ μ§ μ§μ
today.setDate(1);
today.getDate(); // -> 1
Date κ°μ²΄μ μμΌ(0~6)μ λνλ΄λ μ μλ₯Ό λ°ννλ€. μΌμμΌμ΄ 0μ΄λ€.
new Date('2020/07/24').getDay(); // -> 5
Date κ°μ²΄μ μκ°(0~23)μ λνλ΄λ μ μλ₯Ό λ°ννλ€.
new Date('2020/07/24/12:00').getHours(); // -> 12
Date κ°μ²΄μ μκ°(0~23)μ λνλ΄λ μ μλ₯Ό μ€μ νλ€.
const today = new Date();
// μκ° μ§μ
today.setHours(7);
today.getHours(); // -> 7
// μκ°/λΆ/μ΄/λ°λ¦¬μ΄ μ§μ
today.setHours(0, 0, 0, 0); // 00:00:00:00
today.getHours(); // -> 0
Date κ°μ²΄μ λΆ(0~59)μ λνλ΄λ μ μλ₯Ό λ°ννλ€.
new Date('2020/07/24/12:30').getMinutes(); // -> 30
Date κ°μ²΄μ λΆ(0~59)μ λνλ΄λ μ μλ₯Ό μ€μ νλ€.
const today = new Date();
// λΆ μ§μ
today.setMinutes(50);
today.getMinutes(); // -> 50
// λΆ/μ΄/λ°λ¦¬μ΄ μ§μ
today.setMinutes(5, 10, 999); // HH:05:10:999
today.getMinutes(); // -> 5
Date κ°μ²΄μ μ΄(0~59)μ λνλ΄λ μ μλ₯Ό λ°ννλ€.
new Date('2020/07/24/12:30').getMinutes(); // -> 30
Date κ°μ²΄μ μ΄(0~59)μ λνλ΄λ μ μλ₯Ό μ€μ νλ€.
const today = new Date();
// λΆ μ§μ
today.setMinutes(50);
today.getMinutes(); // -> 50
// λΆ/μ΄/λ°λ¦¬μ΄ μ§μ
today.setMinutes(5, 10, 999); // HH:05:10:999
today.getMinutes(); // -> 5
Date κ°μ²΄μ λ°λ¦¬μ΄(0~999)μ λνλ΄λ μ μλ₯Ό λ°ννλ€.
new Date('2020/07/24/12:30').getMinutes(); // -> 30
Date κ°μ²΄μ λ°λ¦¬μ΄(0~999)μ λνλ΄λ μ μλ₯Ό μ€μ νλ€.
const today = new Date();
// λΆ μ§μ
today.setMinutes(50);
today.getMinutes(); // -> 50
// λΆ/μ΄/λ°λ¦¬μ΄ μ§μ
today.setMinutes(5, 10, 999); // HH:05:10:999
today.getMinutes(); // -> 5
1970λ 1μ 1μΌ 00:00:00(UTC)λ₯Ό κΈ°μ μΌλ‘ Date κ°μ²΄μ μκ°κΉμ§ κ²½κ³Όλ λ°λ¦¬μ΄λ₯Ό λ°ννλ€.
new Date('2020/07/24/12:30').getMinutes(); // -> 30
1970λ 1μ 1μΌ 00:00:00(UTC)λ₯Ό κΈ°μ μΌλ‘ Date κ°μ²΄μ μκ°κΉμ§ κ²½κ³Όλ λ°λ¦¬μ΄λ₯Ό λ°ννλ€.
const today = new Date();
// λΆ μ§μ
today.setMinutes(50);
today.getMinutes(); // -> 50
// λΆ/μ΄/λ°λ¦¬μ΄ μ§μ
today.setMinutes(5, 10, 999); // HH:05:10:999
today.getMinutes(); // -> 5
UTCμ Date κ°μ²΄μ μ§μ λ λ‘μΊ μκ°κ³Όμ μ°¨μ΄λ₯Ό λΆ λ¨μλ‘ λ°ννλ€.
const today = new Date(); // todayμ μ§μ λ‘μΊμ KSTλ€.
//UTCμ todayμ μ§μ λ‘μΊ KSTμμ μ°¨μ΄λ -9μκ°μ΄λ€.
today.getTimezoneOffset() / 60; // -9
μ¬λμ΄ μ½μ μ μλ νμμ λ¬Έμμ΄λ‘ Date κ°μ²΄μ λ μ§λ₯Ό λ°ννλ€.
const today = new Date('2020/7/24/12:30');
today.toString(); // -> Fri Jul 24 2020 12:30:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
today.toDateString(); // -> Fri Jul 24 2020
μ¬λμ΄ μ½μ μ μλ νμμ λ¬Έμμ΄λ‘ Date κ°μ²΄μ μκ°μ λ°ννλ€.
const today = new Date('2020/7/24/12:30');
today.toString(); // -> Fri Jul 24 2020 12:30:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
today.toTimeString(); // -> 12:30:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
ISO 8601νμμΌλ‘ Date λ μ§μ μκ°μ ννν λ¬Έμμ΄μ λ°ννλ€.
const today = new Date('2020/7/24/12:30');
today.toString(); // -> Fri Jul 24 2020 12:30:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
today.toISOString(); // -> 2020-07-24T03:30:00.000Z
today.toISOString().slice(0, 10); // -> 2020-07-24
today.toISOString().slice(0, 10).replace(/-/g, ''); // -> 20200724
μΈμλ‘ μ λ¬ν λ‘μΊμ κΈ°μ€μΌλ‘ Date κ°μ²΄μ λ μ§μ μκ°μ ννν λ¬Έμμ΄μ λ°ννλ€.
const today = new Date('2020/7/24/12:30');
today.toString(); // -> Fri Jul 24 2020 12:30:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
today.toLocaleString(); // -> 2020. 7. 24. μ€ν 12:30:00
today.toLocaleString('ko-KR'); // -> 2020. 7. 24. μ€ν 12:30:00
today.toLocaleString('en-US'); // -> 7/24/2020, 12:30:00 PM
today.toLocaleString('ja-JP'); // -> 2020/7/24 12:30:00
μΈμλ‘ μ λ¬ν λ‘μΊμ κΈ°μ€μΌλ‘ Date κ°μ²΄μ μκ°μ ννν λ¬Έμμ΄μ λ°ννλ€.
const today = new Date('2020/7/24/12:30');
today.toString(); // -> Fri Jul 24 2020 12:30:00 GMT+0900 (λνλ―Όκ΅ νμ€μ)
today.toLocaleTimeString(); // -> μ€ν 12:30:00
today.toLocaleTimeString('ko-KR'); // -> μ€ν 12:30:00
today.toLocaleTimeString('en-US'); // -> 12:30:00 PM
today.toLocaleTimeString('ja-JP'); // -> 12:30:00
(function printNow() {
const today = new Date();
const dayNames = [
'(μΌμμΌ)',
'(μμμΌ)',
'(νμμΌ)',
'(μμμΌ)',
'(λͺ©μμΌ)',
'(κΈμμΌ)',
'(ν μμΌ)'
];
// getDay λ©μλλ ν΄λΉ μμΌ(0 ~ 6)μ λνλ΄λ μ μλ₯Ό λ°ννλ€.
const day = dayNames[today.getDay()];
const year = today.getFullYear();
const month = today.getMonth() + 1;
const date = today.getDate();
let hour = today.getHours();
let minute = today.getMinutes();
let second = today.getSeconds();
const ampm = hour >= 12 ? 'PM' : 'AM';
// 12μκ°μ λ‘ λ³κ²½
hour %= 12;
hour = hour || 12; // hourκ° 0μ΄λ©΄ 12λ₯Ό μ¬ν λΉ
// 10λ―Έλ§μΈ λΆκ³Ό μ΄λ₯Ό 2μλ¦¬λ‘ λ³κ²½
minute = minute < 10 ? '0' + minute : minute;
second = second < 10 ? '0' + second : second;
const now = `${year}λ
${month}μ ${date}μΌ ${day} ${hour}:${minute}:${second} ${ampm}`;
console.log(now);
// 1μ΄λ§λ€ printNow ν¨μλ₯Ό μ¬κ· νΈμΆνλ€. 41.2.1μ "setTimeout / clearTimeout" μ°Έκ³
setTimeout(printNow, 1000);
}());