CodeGym /ํ–‰๋™ /Frontend SELF KO /Date. ๋‚ ์งœ ๋ฐ ์ˆซ์ž ํฌ๋งทํŒ…

Date. ๋‚ ์งœ ๋ฐ ์ˆซ์ž ํฌ๋งทํŒ…

Frontend SELF KO
๋ ˆ๋ฒจ 37 , ๋ ˆ์Šจ 1
์‚ฌ์šฉ ๊ฐ€๋Šฅ

2.1 Date ๊ฐ์ฒด

๋‚ ์งœ์™€ ์ˆซ์ž๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด์•ผ. JavaScript๋Š” ๋‚ ์งœ์™€ ์ˆซ์ž๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ ๊ฐ์ฒด์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ด. ์ด ๊ฐ•์˜์—์„œ๋Š” Date ๊ฐ์ฒด, ๊ทธ ๋ฉ”์„œ๋“œ, ๊ทธ๋ฆฌ๊ณ  ๋‚ ์งœ ๋ฐ ์ˆซ์ž ํฌ๋งทํŒ… ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณผ ๊ฑฐ์•ผ.

JavaScript์˜ Date ๊ฐ์ฒด๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด. ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ํŠน์ • ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์„ค์ •ํ•˜๊ณ , ์ด๋ฅผ ํฌ๋งทํŒ…ํ•  ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด.

Date ๊ฐ์ฒด ์ƒ์„ฑํ•˜๊ธฐ

์ค‘์š”ํ•ด!
ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด Date() ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ๊ทธ ์ˆœ๊ฐ„์˜ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๊ฐ€์งˆ ๊ฑฐ์•ผ.

Date ๊ฐ์ฒด๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด.

1. ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„:

JavaScript
    
      const now = new Date();

      console.log(now); // ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ถœ๋ ฅ
    
  

2. ํŠน์ • ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์„ค์ •:

JavaScript
    
      const specificDate = new Date('2024-07-07T10:00:00');

      console.log(specificDate); // 2024๋…„ 7์›” 7์ผ ๋‚ ์งœ ์ถœ๋ ฅ
    
  

3. ์ˆซ์ž ๊ฐ’์œผ๋กœ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์„ค์ •:

JavaScript
    
      const anotherDate = new Date(2024, 6, 7, 10, 0, 0);

      console.log(anotherDate); // 2024๋…„ 7์›” 7์ผ ๋‚ ์งœ ์ถœ๋ ฅ
    
  

2.2 Date() ๊ฐ์ฒด ๋ฉ”์„œ๋“œ

๋‚ ์งœ ๊ตฌ์„ฑ ์š”์†Œ ์–ป๊ธฐ:

  • getFullYear(): ์—ฐ๋„ ์–ป๊ธฐ (๋„ค ์ž๋ฆฌ)
  • getMonth(): ์›” ์–ป๊ธฐ (0๋ถ€ํ„ฐ 11๊นŒ์ง€)
  • getDate(): ์›”์˜ ์ผ ์–ป๊ธฐ (1๋ถ€ํ„ฐ 31๊นŒ์ง€)
  • getHours(): ์‹œ๊ฐ„ ์–ป๊ธฐ (0๋ถ€ํ„ฐ 23๊นŒ์ง€)
  • getMinutes(): ๋ถ„ ์–ป๊ธฐ (0๋ถ€ํ„ฐ 59๊นŒ์ง€)
  • getSeconds(): ์ดˆ ์–ป๊ธฐ (0๋ถ€ํ„ฐ 59๊นŒ์ง€)

์˜ˆ์‹œ:

JavaScript
    
      const now = new Date();

      console.log(now.getFullYear()); // ํ˜„์žฌ ์—ฐ๋„
      console.log(now.getMonth()); // ํ˜„์žฌ ์›” (-1)
      console.log(now.getDate()); // ํ˜„์žฌ ์ผ
      console.log(now.getHours()); // ํ˜„์žฌ ์‹œ๊ฐ„
      console.log(now.getMinutes()); // ํ˜„์žฌ ๋ถ„
      console.log(now.getSeconds()); // ํ˜„์žฌ ์ดˆ
    
  

๋‚ ์งœ ๊ตฌ์„ฑ ์š”์†Œ ์„ค์ •:

  • setFullYear(year): ์—ฐ๋„ ์„ค์ •
  • setMonth(month): ์›” ์„ค์ •
  • setDate(day): ์›”์˜ ์ผ ์„ค์ •
  • setHours(hours): ์‹œ๊ฐ„ ์„ค์ •
  • setMinutes(minutes): ๋ถ„ ์„ค์ •
  • setSeconds(seconds): ์ดˆ ์„ค์ •

์˜ˆ์‹œ:

JavaScript
    
      const date = new Date();

      date.setFullYear(2025);
      date.setMonth(0); // 1์›”
      date.setDate(15);
      date.setHours(12);
      date.setMinutes(30);
      date.setSeconds(45);

      console.log(date.toString());
    
  

2.3 ๋‚ ์งœ ํฌ๋งทํŒ…

JavaScript๋Š” ๋ฌธ์ž์—ด๋กœ ๋‚ ์งœ๋ฅผ ํฌ๋งทํŒ…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ด. ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ toLocaleDateString()๋กœ, ๋กœ์บ˜์— ๋”ฐ๋ผ ๋‚ ์งœ๋ฅผ ํฌ๋งทํŒ…ํ•ด.

toLocaleDateString() ์‚ฌ์šฉ ์˜ˆ์‹œ:

JavaScript
    
      const now = new Date();

      console.log(now.toLocaleDateString('en-US')); // "7/7/2024" (MM/DD/YYYY)
      console.log(now.toLocaleDateString('en-GB')); // "07/07/2024" (DD/MM/YYYY)
      console.log(now.toLocaleDateString('ru-RU')); // "07.07.2024" (DD.MM.YYYY)
    
  

๋ฉ”์„œ๋“œ toLocaleTimeString()

toLocaleTimeString() ๋ฉ”์„œ๋“œ๋Š” ์ง€์—ญํ™”๋œ ํฌ๋งท์œผ๋กœ ์‹œ๊ฐ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ด:

JavaScript
    
const now = new Date();

console.log(now.toLocaleTimeString('en-CA')); 
console.log(now.toLocaleTimeString('en-GB')); 
    
  

๋ฉ”์„œ๋“œ toLocaleString()

toLocaleString() ๋ฉ”์„œ๋“œ๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ง€์—ญํ™”๋œ ํฌ๋งท์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ด:

JavaScript
    
      const now = new Date();

      console.log(now.toLocaleString('en-CA')); 
      console.log(now.toLocaleString('en-GB')); 
    
  

๋ฉ”์„œ๋“œ toISOString()

toISOString() ๋ฉ”์„œ๋“œ๋Š” ISO 8601 ํฌ๋งท์œผ๋กœ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๋ฐ˜ํ™˜ํ•ด:

JavaScript
    
      const now = new Date();

      console.log(now.toISOString()); // "2023-07-05T10:00:00.000Z"
    
  

2.4 ์ˆซ์ž ํฌ๋งทํŒ…

๋ฉ”์„œ๋“œ toLocaleString()

toLocaleString() ๋ฉ”์„œ๋“œ๋Š” ๋กœ์ปฌ ์„ค์ •์— ๋”ฐ๋ผ ์ˆซ์ž๋ฅผ ํฌ๋งทํŒ…ํ•  ์ˆ˜ ์žˆ์–ด:

JavaScript
    
      const number = 1234567.89;

      console.log(number.toLocaleString()); // ๋ฏธ๊ตญ ํฌ๋งท "1,234,567.89" ๋˜๋Š” ๋กœ์ปฌ ํฌ๋งท "1 234 567,89"
      console.log(number.toLocaleString('de-DE')); // ๋…์ผ ํฌ๋งท "1.234.567,89"
    
  

Intl.NumberFormat๋ฅผ ์‚ฌ์šฉํ•œ ์ˆซ์ž ํฌ๋งทํŒ…

Intl.NumberFormat ์ƒ์„ฑ์ž๋Š” ์ˆซ์ž๋ฅผ ํฌ๋งทํŒ…ํ•˜๋Š” ๋” ์œ ์—ฐํ•œ ์˜ต์…˜์„ ์ œ๊ณตํ•ด:

JavaScript
    
      const number = 1234567.89;

      const usFormatter = new Intl.NumberFormat('en-US');
      console.log(usFormatter.format(number)); // "1,234,567.89"

      const deFormatter = new Intl.NumberFormat('de-DE');
      console.log(deFormatter.format(number)); // "1.234.567,89"

      const customFormatter = new Intl.NumberFormat('en-US', {
        style: 'currency',
        currency: 'USD'
      });

      console.log(customFormatter.format(number)); // "$1,234,567.89"
    
  
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION