date-fns কি?

date-fns একটি আধুনিক JavaScript তারিখ ইউটিলিটি লাইব্রেরি যা JavaScript-এ তারিখের সাথে কাজ করার জন্য ব্যাপক, সামঞ্জস্যপূর্ণ এবং নির্ভরযোগ্য সরঞ্জাম সরবরাহ করে। নেটিভ JavaScript Date অবজেক্টের বিপরীতে যার অনেক সমস্যা এবং অসামঞ্জস্য রয়েছে, date-fns তারিখ ম্যানিপুলেশনের জন্য একটি মডুলার, ফাংশনাল পদ্ধতি প্রদান করে। এটি tree-shakeable, যার অর্থ আপনি শুধুমাত্র যে ফাংশনগুলি ব্যবহার করেন তা অন্তর্ভুক্ত করেন, আপনার বান্ডেল সাইজ ন্যূনতম রাখেন। লাইব্রেরিটি ফরম্যাটিং এবং পার্সিং থেকে শুরু করে তারিখ তুলনা, ম্যানিপুলেশন এবং স্থানীয়করণ পর্যন্ত সবকিছু কভার করে ২০০+ ফাংশন সমর্থন করে।

কেন date-fns playground ব্যবহার করবেন?

JavaScript-এ তারিখের সাথে কাজ করা কঠিন হতে পারে—সময় অঞ্চল, ফরম্যাটিং প্যাটার্ন এবং তারিখ গণনা প্রায়শই অপ্রত্যাশিত ফলাফলের দিকে পরিচালিত করে। একটি playground পরিবেশ আপনাকে রিয়েল-টাইমে date-fns ফাংশনগুলির সাথে পরীক্ষা করতে, তাৎক্ষণিক আউটপুট দেখতে এবং একটি সম্পূর্ণ প্রকল্প সেট আপ না করে API শিখতে দেয়। এটি ফরম্যাটিং স্ট্রিং পরীক্ষা করা, তারিখ গণনা ডিবাগ করা বা আপনার অ্যাপ্লিকেশনে একীভূত করার আগে দ্রুত তারিখ লজিক প্রোটোটাইপ করার জন্য নিখুঁত।

সরঞ্জাম বর্ণনা

date-fns Playground একটি ইন্টারেক্টিভ কোডিং পরিবেশ যা আপনাকে সম্পূর্ণ date-fns লাইব্রেরি প্রি-লোডেড সহ JavaScript কোড লিখতে এবং সম্পাদন করতে দেয়। সম্পূর্ণ date-fns লাইব্রেরি dateFns অবজেক্টের মাধ্যমে উপলব্ধ, আপনাকে সমস্ত ২০০+ ফাংশনে অ্যাক্সেস দেয়। কোড স্বয়ংক্রিয়ভাবে চলে যখন আপনি টাইপ করেন (debouncing সহ), এবং সমস্ত console.log, console.warn এবং console.error আউটপুট সম্পাদকের নীচে বিল্ট-ইন টার্মিনালে প্রদর্শিত হয়। এটি date-fns শেখা, তারিখ অপারেশন পরীক্ষা করা এবং বিভিন্ন ফরম্যাটিং বিকল্পগুলির সাথে পরীক্ষা করার জন্য আদর্শ।

উদাহরণ

বর্তমান তারিখ ফরম্যাট করুন:

const now = new Date();
console.log(dateFns.format(now, "MMMM do, yyyy"));
// আউটপুট: December 30th, 2025

দুটি তারিখের মধ্যে দিন গণনা করুন:

const start = new Date(2025, 0, 1);
const end = new Date(2025, 11, 31);
console.log(dateFns.differenceInDays(end, start) + " দিন");
// আউটপুট: 364 দিন

একটি তারিখে সময় যোগ করুন:

const today = new Date();
const nextWeek = dateFns.addWeeks(today, 1);
const nextMonth = dateFns.addMonths(today, 1);
console.log("পরের সপ্তাহ:", dateFns.format(nextWeek, "yyyy-MM-dd"));
console.log("পরের মাস:", dateFns.format(nextMonth, "yyyy-MM-dd"));

একটি তারিখ অতীত বা ভবিষ্যতে আছে কিনা তা পরীক্ষা করুন:

const date = new Date(2024, 5, 15);
console.log("অতীত?", dateFns.isPast(date));
console.log("ভবিষ্যত?", dateFns.isFuture(date));

একটি তারিখ স্ট্রিং পার্স করুন:

const parsed = dateFns.parse("25/12/2025", "dd/MM/yyyy", new Date());
console.log(dateFns.format(parsed, "EEEE, MMMM do, yyyy"));
// আউটপুট: Thursday, December 25th, 2025

বৈশিষ্ট্য

  • সম্পূর্ণ date-fns লাইব্রেরি: dateFns অবজেক্টের মাধ্যমে সমস্ত ২০০+ date-fns ফাংশনে অ্যাক্সেস করুন
  • লাইভ কোড এক্সিকিউশন: কোড স্বয়ংক্রিয়ভাবে চলে যখন আপনি স্মার্ট debouncing সহ টাইপ করেন
  • বিল্ট-ইন টার্মিনাল: ব্রাউজার ডেভেলপার টুলস ছাড়াই তাৎক্ষণিকভাবে console আউটপুট দেখুন
  • সিনট্যাক্স হাইলাইটিং: উন্নত কোড পাঠযোগ্যতার জন্য JavaScript সিনট্যাক্স হাইলাইটিং
  • ত্রুটি হ্যান্ডলিং: রানটাইম ত্রুটিগুলি টার্মিনাল আউটপুটে স্পষ্টভাবে প্রদর্শিত হয়

ব্যবহারের ক্ষেত্র

  • date-fns শেখা: প্রকল্প সেট আপ ছাড়াই বিভিন্ন ফাংশন নিয়ে পরীক্ষা করুন এবং তাৎক্ষণিক ফলাফল দেখুন
  • তারিখ ফরম্যাট পরীক্ষা: আপনার প্রয়োজনীয় সঠিক আউটপুট প্যাটার্ন খুঁজে পেতে বিভিন্ন ফরম্যাট স্ট্রিং চেষ্টা করুন
  • তারিখ গণনা প্রোটোটাইপিং: ব্যবসায়িক দিন যোগ করা, ব্যবধান খুঁজে পাওয়া বা তারিখ তুলনা করার মতো জটিল তারিখ গণনা পরীক্ষা করুন
  • তারিখ লজিক ডিবাগ করা: আপনার প্রকল্পগুলি থেকে তারিখ-সম্পর্কিত কোড স্নিপেটগুলি বিচ্ছিন্ন এবং পরীক্ষা করুন
  • দ্রুত তারিখ রূপান্তর: তারিখ ফরম্যাটের মধ্যে রূপান্তর করুন বা দ্রুত সময়ের পার্থক্য গণনা করুন

সাধারণ date-fns ফাংশন

ফাংশন বর্ণনা উদাহরণ
format একটি তারিখকে স্ট্রিংয়ে ফরম্যাট করুন dateFns.format(date, "yyyy-MM-dd")
parse একটি স্ট্রিংকে তারিখে পার্স করুন dateFns.parse("2025-01-01", "yyyy-MM-dd", new Date())
addDays একটি তারিখে দিন যোগ করুন dateFns.addDays(date, 7)
subMonths একটি তারিখ থেকে মাস বিয়োগ করুন dateFns.subMonths(date, 3)
differenceInDays তারিখের মধ্যে দিন পান dateFns.differenceInDays(dateA, dateB)
isAfter তারিখ অন্যটির পরে আছে কিনা তা পরীক্ষা করুন dateFns.isAfter(dateA, dateB)
isBefore তারিখ অন্যটির আগে আছে কিনা তা পরীক্ষা করুন dateFns.isBefore(dateA, dateB)
startOfMonth মাসের প্রথম দিন পান dateFns.startOfMonth(date)
endOfYear বছরের শেষ মুহূর্ত পান dateFns.endOfYear(date)
formatDistance মানব-পাঠযোগ্য সময় পার্থক্য dateFns.formatDistance(dateA, dateB)

ফরম্যাট টোকেন রেফারেন্স

টোকেন বর্ণনা উদাহরণ
yyyy ৪-অঙ্কের বছর 2025
MM ২-অঙ্কের মাস 01-12
MMMM সম্পূর্ণ মাসের নাম January
dd ২-অঙ্কের দিন 01-31
do অর্ডিনাল সহ দিন 1st, 2nd, 3rd
EEEE সম্পূর্ণ সপ্তাহের দিনের নাম Monday
EEE সংক্ষিপ্ত সপ্তাহের দিন Mon
HH ২৪-ঘণ্টা ঘণ্টা 00-23
hh ১২-ঘণ্টা ঘণ্টা 01-12
mm মিনিট 00-59
ss সেকেন্ড 00-59
a AM/PM AM, PM