Dart:
দুটি তারিখ তুলনা করা

কিভাবে:

ডার্টে, আপনি DateTime ক্লাস ব্যবহার করে তারিখ তুলনা করতে পারেন, যা isBefore, isAfter, এবং isAtSameMomentAs এর মতো পদ্ধতিগুলি সরাসরি তুলনার জন্য সরবরাহ করে। অতিরিক্তভাবে, তারিখের মধ্যে পার্থক্য difference() পদ্ধতি ব্যবহার করে নির্ধারণ করা যায়, যা একটি Duration অবজেক্ট সরবরাহ করে যা দুটি সময় বিন্দুর মধ্যে ব্যবধান বিস্তারিত করে।

নিম্নে এই ধারণাগুলি দেখানো একটি মৌলিক উদাহরণ দেওয়া হলো:

void main() {
  DateTime eventStart = DateTime(2023, 5, 15);
  DateTime eventEnd = DateTime(2023, 5, 20);
  
  // যাচাই করা হচ্ছে যে একটি তারিখ আরেকটি তারিখের আগে কিনা
  if (eventStart.isBefore(eventEnd)) {
    print("ইভেন্টের শুরুর তারিখ ইভেন্টের শেষ তারিখের আগে রয়েছে।");
  }

  // যাচাই করা হচ্ছে যে দুটি তারিখ একই কিনা
  if (!eventStart.isAtSameMomentAs(eventEnd)) {
    print("শুরুর এবং শেষের তারিখগুলি একই নয়।");
  }
  
  // দুটি তারিখের মধ্যে পার্থক্য গণনা করা হচ্ছে
  Duration eventDuration = eventEnd.difference(eventStart);
  print("ইভেন্টটি ${eventDuration.inDays} দিন স্থায়ী হয়।");
}

/*
আউটপুট:
ইভেন্টের শুরুর তারিখ ইভেন্টের শেষ তারিখের আগে রয়েছে।
শুরুর এবং শেষের তারিখগুলি একই নয়।
ইভেন্টটি 5 দিন স্থায়ী হয়।
*/

তারিখের আরও উন্নত ম্যানিপুলেশনের জন্য, যেমন ফর্ম্যাট রূপান্তর, আপনি intl প্যাকেজ থেকে DateFormat ক্লাস উপকারী হিসেবে পাবেন। নিচে এর ব্যবহার করে তারিখ ফর্ম্যাটিং এবং তুলনা করার উপায় দেখানো হয়েছে:

প্রথমে, আপনার pubspec.yamlintl প্যাকেজ অন্তর্ভুক্ত করুন:

dependencies:
  intl: ^0.17.0

তারপর, এটি নিম্নরূপ ব্যবহার করুন:

import 'package:intl/intl.dart';

void main() {
  DateTime departureDate = DateTime(2023, 5, 15);
  DateTime returnDate = DateTime.parse('2023-05-20');

  // তারিখগুলি ফর্ম্যাটিং করা হচ্ছে
  var formatter = DateFormat('yyyy-MM-dd');
  print("প্রস্থান: ${formatter.format(departureDate)}");
  print("প্রত্যাবর্তন: ${formatter.format(returnDate)}");

  // ফরম্যাটেড স্ট্রিংগুলি ব্যবহার করে তুলনা করা হচ্ছে
  if (formatter.format(departureDate) == formatter.format(returnDate)) {
    print("প্রস্থান এবং প্রত্যাবর্তনের তারিখগুলি একই।");
  } else {
    print("প্রস্থান এবং প্রত্যাবর্তনের তারিখগুলি ভিন্ন।");
  }
}

/*
আউটপুট:
প্রস্থান: 2023-05-15
প্রত্যাবর্তন: 2023-05-20
প্রস্থান এবং প্রত্যাবর্তনের তারিখগুলি ভিন্ন।
*/

এই উদাহরণটি দেখায় কিভাবে দুটি DateTime অবজেক্টের সরাসরি এবং নির্দিষ্ট উপাদানগুলি যেমন সময় উপেক্ষা করে তুলনা প্রয়োজন হলে ফর্ম্যাটিং করা স্ট্রিংগুলি ব্যবহার করা যায়।