জাভাস্ক্রিপ্টে তারিখের স্বয়ংক্রিয় সংশোধন

জাভাস্ক্রিপ্টের একটি খুব আকর্ষণীয় এবং দরকারী বৈশিষ্ট্য রয়েছে: যদি Date অবজেক্ট তৈরি করার সময় একটি অবৈধ সময় নির্দিষ্ট করা হয় - এটি স্বয়ংক্রিয়ভাবে একটি বৈধ সময়ে পুনরায় গণনা করা হবে। আসুন একটি উদাহরণ দিয়ে দেখি।

আপনি জানেন যে, 35 জানুয়ারি এমন কোন তারিখ নেই। জানুয়ারি মাসের সর্বোচ্চ সম্ভাব্য দিন হল 31। এর মানে হল, আমাদের 35 জানুয়ারি তারিখটির 4 দিন অতিরিক্ত আছে। এই ক্ষেত্রে জাভাস্ক্রিপ্ট কেবল এই অতিরিক্ত 4 দিনটি পরের মাসে যোগ করে দেবে:

javascriptlet date = new Date(2018, 0, 35);
console.log(date); // ফলাফল হবে 4 ফেব্রুয়ারি

শুধুমাত্র অতিরিক্ত দিনই নয়, অতিরিক্ত মাসও নির্দিষ্ট করা যায়। এটা মনে রাখতে হবে যে মাসগুলি শূন্য থেকে শুরু হয়, যার মানে শেষ বৈধ মাস হল 11-তম মাস। যদি 12-তম মাস নির্দিষ্ট করা হয়, তাহলে ফলাফল হবে পরের বছরের জানুয়ারি:

javascriptlet date = new Date(2018, 12, 1); // আমরা 12-তম মাস নির্দিষ্ট করছি
console.log(date); // ফলাফল হবে 1 জানুয়ারি 2019 সাল

বর্ণিত সংশোধন কম দিকেও কাজ করে। আপনি জানেন যে, মাসের সর্বনিম্ন দিন হল 1 নম্বর দিন। সুতরাং, যদি 0 নম্বর দিন নির্দিষ্ট করা হয়, তাহলে ফলাফল হবে আগের মাসের শেষ দিন:

javascriptlet date = new Date(2018, 1, 0); // আমরা শূন্যতম দিন নির্দিষ্ট করছি
console.log(date); // ফলাফল হবে 31 জানুয়ারি

ঋণাত্মক মানের দিন এবং মাসও নির্দিষ্ট করা যায়। এক্ষেত্রে মনে রাখতে হবে যে সর্বনিম্ন দিনের নম্বর হল 1, এবং সর্বনিম্ন মাসের নম্বর হল 0। এর মানে হল, মাইনাস প্রথম দিনটি পড়বে আগের মাসের শেষ থেকে 2 নম্বর দিনে, এবং মাইনাস প্রথম মাসটি পড়বে কেবল আগের বছরের শেষ মাসে:

javascriptlet date = new Date(2018, 1, -1); // আমরা -1 দিন নির্দিষ্ট করছি
console.log(date); // ফলাফল হবে 30 জানুয়ারি
javascriptlet date = new Date(2018, -1, 1); // আমরা -1 মাস নির্দিষ্ট করছি
console.log(date); // ফলাফল হবে 1 ডিসেম্বর 2017 সাল

উপরে যা বলা হয়েছে তা ঘন্টা, মিনিট এবং সেকেন্ডের ক্ষেত্রেও একইভাবে কাজ করে:

javascriptlet date = new Date(2018, 0, 1, 24, 0, 0); // আমরা 24-তম ঘন্টা নির্দিষ্ট করছি
console.log(date); // ফলাফল হবে 2 জানুয়ারি, 0 ঘন্টা
javascriptlet date = new Date(2018, 0, 1, 25, 0, 0); // আমরা 25-তম ঘন্টা নির্দিষ্ট করছি
console.log(date); // ফলাফল হবে 2 জানুয়ারি, 1 ঘন্টা
Задание 1

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 1, 35);
console.log(date); // কোন তারিখ হবে?
Задание 2

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 15, 1);
console.log(date); // কোন তারিখ হবে?
Задание 3

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 3, 31);
console.log(date); // কোন তারিখ হবে?
Задание 4

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 1, 31);
console.log(date); // কোন তারিখ হবে?
Задание 5

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 12, 33);
console.log(date); // কোন তারিখ হবে?
Задание 6

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 33, 33);
console.log(date); // কোন তারিখ হবে?
Задание 7

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 5, 0);
console.log(date); // কোন তারিখ হবে?
Задание 8

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 0, 0);
console.log(date); // কোন তারিখ হবে?
Задание 9

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, -12, -33);
console.log(date); // কোন তারিখ হবে?
Задание 10

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 0, 1, 23, 0, 60);
console.log(date); // কোন তারিখ হবে?
Задание 11

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 0, 1, 23, 60, 0);
console.log(date); // কোন তারিখ হবে?
Задание 12

নিচের মুহূর্তটিকে জাভাস্ক্রিপ্ট কোন তারিখে রূপান্তরিত করবে তা নির্ধারণ করুন:

javascriptlet date = new Date(2018, 0, 1, 100, 100, 100);
console.log(date); // কোন তারিখ হবে?