Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€/JavaScript

[Eric's JS] JavaScript๋กœ ๋‚˜์ด๊ณ„์‚ฐ, ๋  ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ โญ๏ธ

Eric_ko 2023. 7. 30. 21:30

์•ˆ๋…•ํ•˜์„ธ์š”,

์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜์€ JavaScript๋ฅผ ์ด์šฉํ•ด ๋‚˜์ด์™€ ๋ ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ƒ๋…„์›”์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ๋‚˜์ด์™€ ๋ ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์ด๋ฅผ ์›น ํŽ˜์ด์ง€์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ €, HTML ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

'age'์™€ 'zodiac'๋ผ๋Š” id๋ฅผ ๊ฐ€์ง„ ๋‘ ๊ฐœ์˜ div ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ณณ์— JavaScript๋ฅผ ํ†ตํ•ด ๊ณ„์‚ฐ๋œ ๋‚˜์ด์™€ ๋  ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


  
<body>
<div id="age"></div>
<div id="zodiac"></div>
...
</body>

 

๋‹ค์Œ์œผ๋กœ, JavaScript ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋จผ์ €, ์‚ฌ์šฉ์ž์˜ ์ƒ๋…„์›”์ผ์„ 'birthDay' ๋ณ€์ˆ˜์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.


  
let birthDay = "2001-02-21";

 

๋งŒ๋‚˜์ด ๊ณ„์‚ฐํ•˜๊ธฐ

๊ทธ๋ฆฌ๊ณ  'calculateAge'๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ด ํ•จ์ˆ˜๋Š” ์ƒ๋…„์›”์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ์˜ค๋Š˜ ๋‚ ์งœ์™€ ๋น„๊ตํ•˜์—ฌ ๋‚˜์ด๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.


  
function calculateAge (birthDateString) {
var birthDate = new Date(birthDateString);
var today = new Date();
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}
var age = calculateAge(birthDay);
document.getElementById('age').innerText = age +'์‚ด';

 

๋  ๊ตฌํ•˜๊ธฐ

 

๋‹ค์Œ์œผ๋กœ, 'getKoreanZodiac'๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์ƒ๋…„์›”์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ๋ ๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.


  
function getKoreanZodiac (birthDateString) {
let date = new Date(birthDay);
let year = date.getFullYear();
const zodiacs = ['์ฅ', '์†Œ', 'ํ˜ธ๋ž‘์ด', 'ํ† ๋ผ', '์šฉ', '๋ฑ€', '๋ง', '์–‘', '์›์ˆญ์ด', '๋‹ญ', '๊ฐœ', '๋ผ์ง€'];
return zodiacs[(year - 4) % 12];
}
document.getElementById('zodiac').innerText = getKoreanZodiac(birthDay) + '๋ ';

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, ์›น ํŽ˜์ด์ง€์— ์‚ฌ์šฉ์ž์˜ ๋‚˜์ด์™€ ๋ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

 

์ฝ”๋“œ


  
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="age"></div>
<div id="zodiac"></div>
<script>
let birthDay = "2001-02-21";
function calculateAge (birthDateString) {
var birthDate = new Date(birthDateString);
var today = new Date();
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}
var age = calculateAge(birthDay);
document.getElementById('age').innerText = age +'์‚ด';
function getKoreanZodiac (birthDateString) {
let date = new Date(birthDay);
let year = date.getFullYear();
const zodiacs = ['์ฅ', '์†Œ', 'ํ˜ธ๋ž‘์ด', 'ํ† ๋ผ', '์šฉ', '๋ฑ€', '๋ง', '์–‘', '์›์ˆญ์ด', '๋‹ญ', '๊ฐœ', '๋ผ์ง€'];
return zodiacs[(year - 4) % 12];
}
document.getElementById('zodiac').innerText = getKoreanZodiac(birthDay) + '๋ ';
</script>
</body>
</html>

 

 

์ด ๊ฐ„๋‹จํ•œ JavaScript ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋‚˜์ด์™€ ๋ ๋ฅผ ์‰ฝ๊ฒŒ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์—๋Š” ๋” ๋ณต์žกํ•œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋‹ค์Œ์— ๋˜ ๋งŒ๋‚˜์š”!