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

পাইথনে দুটি টাইমস্ট্যাম্পের পার্থক্য বের করার প্রোগ্রাম

ধরুন আমাদের দুটি টাইম আছে এই ফরম্যাটে: "Day dd Mon yyyy hh:mm:ss +/-xxxx", যেখানে Day হলো তিন অক্ষরের দিন যার প্রথম অক্ষর বড় হাতের। Mon হলো মাসের নাম তিন অক্ষরে এবং শেষে + বা - xxxx রিপ্রেজেন্ট করে টাইমজোন, উদাহরণস্বরূপ +0530 মানে এটি GMT-এর চেয়ে ৫ ঘন্টা ৩০ মিনিট বেশি। আমাদের দুটি টাইমস্ট্যাম্পের絕對 পার্থক্য সেকেন্ডে বের করতে হবে।

পাইথনে এটি সমাধানের জন্য আমরা datetime লাইব্রেরি ব্যবহার করব। এখানে strptime() ফাংশন আছে যা স্ট্রিং ফরম্যাটের ডেটাকে ডেটাইম অবজেক্টে কনভার্ট করে। কিছু ফরম্যাট স্পেসিফায়ার নিচে দেওয়া হলো:

  • %a - তিন অক্ষরে দিন
  • %d - সংখ্যায় দিন
  • %b - তিন অক্ষরে মাস
  • %Y - yyyy ফরম্যাটে বছর
  • %H - hh ফরম্যাটে ঘন্টা
  • %M - mm ফরম্যাটে মিনিট
  • %S - ss ফরম্যাটে সেকেন্ড
  • %z - +/- xxxx ফরম্যাটে টাইমজোন

উদাহরণস্বরূপ, যদি ইনপুট t1 = "Thu 15 Jul 2021 15:10:17 +0530" এবং t2 = "Thu 15 Jul 2021 20:25:29 +0720" হয়, তবে আউটপুট হবে 12312।

সমাধানের ধাপসমূহ

  • t1 := প্রথম টাইমকে উপরের ফরম্যাটে কনভার্ট করুন
  • t2 := দ্বিতীয় টাইমকে উপরের ফরম্যাটে কনভার্ট করুন
  • t1 এবং t2-র পার্থক্য সেকেন্ডে রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝার জন্য:

from datetime import datetime

def solve(t1, t2):
    t1 = datetime.strptime(t1, "%a %d %b %Y %H:%M:%S %z")
    t2 = datetime.strptime(t2, "%a %d %b %Y %H:%M:%S %z")
    return abs(int((t1-t2).total_seconds()))

t1 = "Thu 15 Jul 2021 15:10:17 +0530"
t2 = "Thu 15 Jul 2021 20:25:29 +0720"
print(solve(t1, t2))

ইনপুট

"Thu 15 Jul 2021 15:10:17 +0530", "Thu 15 Jul 2021 20:25:29 +0720"

আউটপুট

12312
  1. পাইথনে বাইনারি ট্রিতে দুটি নোডের মধ্যকার দূরত্ব খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে বাইনারি ট্রিতে নোড এবং এর ডিসেন্ডেন্টের মধ্যে সর্বোচ্চ পার্থক্য বের করার প্রোগ্রাম

  3. পাইথনে কোনো সংখ্যা ২-এর ঘাত কিনা চেক করা

  4. পাইথনে লিস্টের সব পেয়ারের অ্যাবসোলিউট ডিফারেন্সের যোগফল