TypeScript:
ভবিষ্যত বা অতীতের তারিখ গণনা করা
কিভাবে:
// বর্তমান তারিখ পেতে
const today: Date = new Date();
// ভবিষ্যতের ১০ দিন গণনা করা
const tenDaysLater: Date = new Date(today.getTime() + (10 * 24 * 60 * 60 * 1000));
console.log(`এখন থেকে দশ দিন পরে: ${tenDaysLater.toDateString()}`);
// অতীতের ১০ দিন গণনা করা
const tenDaysBefore: Date = new Date(today.getTime() - (10 * 24 * 60 * 60 * 1000));
console.log(`দশ দিন আগে ছিল: ${tenDaysBefore.toDateString()}`);
নমুনা আউটপুট:
এখন থেকে দশ দিন পরে: রবি এপ্রিল ২৩ ২০২৩
দশ দিন আগে ছিল: বুধ এপ্রিল ০৩ ২০২৩
গভীর ডুব
ঐতিহাসিক ভাবে, JavaScript—এবং তার এক্সটেনশন TypeScript—এ তারিখ সম্পর্কিত ব্যবস্থাপনা জটিল হয়ে ওঠে তারিখ অবজেক্ট এবং টাইমজোনের বিচিত্র দিকের কারণে। এর জটিলতা সরানোর জন্য Moment.js এবং date-fns এর মত বিকল্প লাইব্রেরি অ্যাবস্ট্র্যাকশনের সুবিধা দেয়। ES6 এর মধ্যে দিয়ে, Intl
API এর মাধ্যমে আরও ভালো আন্তর্জাতিকীকরণের সমর্থন পেয়েছিল, যেখানে TypeScript এটি ব্যবহার করতে পারে।
তারিখ গণনা করার সময়, দিনের আলো সংরক্ষণের পরিবর্তন এবং লিপ সেকেন্ডের মতো বিষয়গুলোর জন্য সচেতন থাকুন। এগুলো একটি তারিখে ২৪ ঘন্টা যোগ করার মত সোজা গণণাগুলোকে বিপর্যয়ে ফেলতে পারে। এছাড়াও, গণনা করা তারিখ প্রদর্শনের সময় ব্যবহারকারীর লোকেল এবং টাইমজোনের কথা সবসময় মনে রাখুন।
প্রশস্ত সমর্থন এবং নমনীয়তার জন্য, আপনি date-fns
অথবা Luxon
এর মতো লাইব্রেরিগুলো বেছে নিতে পারেন, যা মডুলার এবং জটিল কাজের জন্য দারুণ। উদাহরণস্বরূপ, date-fns
এর সাথে, আপনি সহজেই দিন যোগ করতে পারেন:
import { addDays } from 'date-fns';
const result = addDays(new Date(2023, 3, 13), 10); // এপ্রিল ১৩, ২০২৩ + ১০ দিন
console.log(result.toDateString());
তারা প্রান্তিক কেসগুলো এবং টাইমজোন সংক্রান্ত সমস্যাগুলিও সামাল দেয়, তারিখের অঙ্কের ব্যথা অনেকাংশে লাঘব করে।