কম্পিউটার টিউটোরিয়াল

MongoDB-এ ISODate থেকে বছর, মাস, দিন, ঘন্টা ইত্যাদি বের করা

MongoDB-এ ISODate অবজেক্ট থেকে বছর, মাস, দিন, ঘন্টা, মিনিট, সেকেন্ড, মিলিসেকেন্ড, বছরের দিন, সপ্তাহের দিন, সপ্তাহ নম্বর ইত্যাদি বের করার জন্য Aggregation Pipeline-এ $project স্টেজের ভেতরে ডেট অপারেটরগুলো ব্যবহার করা হয়।

উদাহরণ: কালেকশন ও ডেটা তৈরি

> db.demo548.insertOne({"dueDate": new ISODate("2020-04-09 12:12:40")});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e30499e5f92834d7f05de") }

ডকুমেন্ট দেখানো

> db.demo548.find();

আউটপুট:

{ "_id" : ObjectId("5e8e30499e5f92834d7f05de"), "dueDate" : ISODate("2020-04-09T12:12:40Z") }

Aggregation কোয়েরি: ডেট কম্পোনেন্ট বের করা

> db.demo548.aggregate([
    {
      $project: {
        Year: { $year: "$dueDate" },
        Month: { $month: "$dueDate" },
        Day: { $dayOfMonth: "$dueDate" },
        Hour: { $hour: "$dueDate" },
        Minutes: { $minute: "$dueDate" },
        Seconds: { $second: "$dueDate" },
        Milliseconds: { $millisecond: "$dueDate" },
        DayOfYear: { $dayOfYear: "$dueDate" },
        DayOfWeek: { $dayOfWeek: "$dueDate" },
        Week: { $week: "$dueDate" }
      }
    }
]).pretty();

আউটপুট

{
    "_id" : ObjectId("5e8e30499e5f92834d7f05de"),
    "Year" : 2020,
    "Month" : 4,
    "Day" : 9,
    "Hour" : 12,
    "Minutes" : 12,
    "Seconds" : 40,
    "Milliseconds" : 0,
    "DayOfYear" : 100,
    "DayOfWeek" : 5,
    "Week" : 14
}

ডেট অপারেটর রেফারেন্স

অপারেটরবর্ণনারেঞ্জ/উদাহরণ
$yearবর্ষ2020
$monthমাস১-১২ (এপ্রিল = ৪)
$dayOfMonthমাসের দিন১-৩১
$hourঘন্টা (২৪ ঘন্টা ফরম্যাট)০-২৩
$minuteমিনিট০-৫৯
$secondসেকেন্ড০-৫৯
$millisecondমিলিসেকেন্ড০-৯৯৯
$dayOfYearবর্ষের দিন নম্বর১-৩৬৬
$dayOfWeekসপ্তাহের দিন১ (রবিবার) - ৭ (শনিবার)
$weekবর্ষের সপ্তাহ নম্বর০-৫৩
$isoDayOfWeekISO সপ্তাহের দিন১ (সোমবার) - ৭ (রবিবার)
$isoWeekISO সপ্তাহ নম্বর১-৫৩

মূল পয়েন্টসমূহ

  • সব ডেট অপারেটর $project বা $addFields স্টেজে ব্যবহার করা যায়।
  • ISODate UTC-তে সংরক্ষিত হয়; টাইমজোন কনভারশনের জন্য $dateToString with timezone অপশন ব্যবহার করুন।
  • এই অপারেটরগুলো $match-এও ব্যবহার করা যায় (যেমন: এই মাসের ডেটা বের করতে)।
  1. PHP MySQL-এ টাইমস্ট্যাম্প থেকে দিন/মাস/বছর বের করা

  2. MySQL-এ নির্দিষ্ট মাস এবং বছরের ভিত্তিতে রেকর্ড ফিল্টার করা

  3. C++-এ সপ্তাহের দিন বের করা (Zeller's Algorithm)

  4. জাভাতে বছর, মাস ও দিন থেকে ডেট অবজেক্ট পাওয়ার পদ্ধতি