ধরুন আমাদের দুটি টাইম আছে এই ফরম্যাটে: "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