ජාවාස්ක්රිප්ට් හි දිනය ආකෘතිගත කිරීම
දැන් අපි දිනයක් නිශ්චිත ආකෘතියකින් ප්රතිදානය කිරීම ඉගෙන ගනිමු. උදාහරණයක් ලෙස, වර්තමාන දවස, මාසය සහ වර්ෂය වර්ෂය-මාසය-දවස ආකෘතියෙන් තිරය මත ප්රදර්ශනය කිරීමට අපි අවශ්ය යැයි සිතමු.
අපි එය කරමු:
let date = new Date();
console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate());
කෙසේ වෙතත්, අපගේ කේතයේ ගැටලුවක් ඇත: මාස අංක ශුන්යයෙන් ආරම්භ වනු ඇත, නමුත් අපට, බොහෝ විට, ඒවා එකකින් ආරම්භ වීමට අවශ්ය වේ.
ගැටලුව නිවරදි කරමු:
let date = new Date();
console.log(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate());
කෙසේ වෙතත්, අපගේ කේතය තවමත් පරිපූර්ණ නොවේ. නමුත් මෙය සමහර මාස සහ සමහර දිනවලදී පමණක් දැකගත හැකිය. උදාහරණයක් ලෙස, දැන් 5 මාර්තු 2020 යැයි සිතමු.
මෙම අවස්ථාවේදී, අපගේ දිනය 2020-3-5 ආකෘතියෙන් ප්රතිදානය වේ. නමුත් අපට අවශ්ය වන්නේ දිනය 2020-03-05 ආකෘතියෙන් ප්රතිදානය වීමයි - එක ඉලක්කමකින් යුත් දින සහ මාස අංක ඉදිරියෙන් ශුන්ය සමඟ.
ගැටලුව විසඳීම සඳහා, 0 සිට 9 දක්වා අංක ඉදිරියෙන් ශුන්ය එකතු කරන addZero ශ්රිතය ලියමු:
function addZero(num) {
if (num >= 0 && num <= 9) {
return '0' + num;
} else {
return num;
}
}
සාදන ලද ශ්රිතය යොදා ගෙන, දැන් අපට අවශ්ය ආකෘතියෙන් දිනය සැබවින්ම ලබා ගනිමු:
let date = new Date();
console.log(
addZero(date.getFullYear()) + '-' +
addZero(date.getMonth() + 1) + '-' +
addZero(date.getDate())
);
වර්තමාන දින-වේලාව 12:59:59 31.12.2014 ආකෘතියෙන් තිරය මත ප්රදර්ශනය කරන්න. අවශ්ය අවස්ථාවලදී ශුන්ය එකතු කිරීම සඳහා අප විසින් සාදන ලද ශ්රිතය දිනයේ සියලුම කොටස් සඳහා (වර්ෂය හැර) භාවිතා කරන්න.