পাইথনে তারিখ পরিচালনা

পাইথনে তারিখ পরিচালনা

এই নিবন্ধটি পাইথনে তারিখ পরিচালনা ব্যাখ্যা করে।

YouTube Video

পাইথনে তারিখ পরিচালনা

পাইথনে তারিখ পরিচালনার জন্য মূলত datetime মডিউল ব্যবহৃত হয়। এই মডিউলটি তারিখ ও সময় পরিচালনার জন্য বিভিন্ন ক্লাস এবং ফাংশন সরবরাহ করে।

নীচে datetime মডিউল ব্যবহারের কিছু প্রাথমিক তারিখ পরিচালনার উদাহরণ দেওয়া হল।

তারিখ এবং সময় পাওয়া

আপনি নিম্নলিখিতভাবে বর্তমান তারিখ এবং সময় পেতে পারেন। datetime.now() এবং datetime.today() প্রায় একই ফলাফল প্রদান করে, তবে তারা টাইম জোন ব্যবহারে কিছু পার্থক্য থাকতে পারে।

1from datetime import datetime
2
3# Get the current date and time
4now = datetime.now()
5print(f"Current date and time: {now}")
6
7# Get today's date only
8today = datetime.today()
9print(f"Today's date: {today.date()}")
  • এই কোডটি বর্তমান তারিখ ও সময় এবং শুধুমাত্র আজকের তারিখ বের করে এবং দেখায়।

সুনির্দিষ্ট তারিখ এবং সময় তৈরি করা

আপনি নির্দিষ্ট একটি তারিখ ও সময় নিম্নলিখিতভাবে তৈরি করতে পারেন।

1from datetime import datetime
2
3# Create a specific date and time
4specific_date = datetime(2023, 11, 7, 10, 30, 45)
5print(f"Specified date and time: {specific_date}")
  • এই কোডটি নির্দিষ্ট তারিখ ও সময় (৭ নভেম্বর, ২০২৩, ১০:৩০:৪৫) তৈরি করে এবং দেখায়।

তারিখ ফরম্যাট করা

তারিখ ফরম্যাটিং নিম্নরূপে করা যেতে পারে।

1from datetime import datetime
2
3now = datetime.now()
4
5# Format the date
6formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
7print(f"Formatted date and time: {formatted_date}")
  • এই কোডটি বর্তমান তারিখ ও সময় নেয়, strftime ব্যবহার করে নির্দিষ্ট ফরম্যাটে ফরম্যাট করে এবং দেখায়।

তারিখ ফরম্যাট স্ট্রিংসমূহ

  • %Y: বছর (৪ সংখ্যায়)
  • %m: মাস (০১ থেকে ১২)
  • %d: দিন (০১ থেকে ৩১)
  • %H: ঘণ্টা (০০ থেকে ২৩)
  • %M: মিনিট (০০ থেকে ৫৯)
  • %S: সেকেন্ড (০০ থেকে ৫৯)

তারিখ স্ট্রিং বিশ্লেষণ

আপনি একটি তারিখ উপস্থাপনকারী স্ট্রিংকে datetime অবজেক্টে রূপান্তর করতে পারেন।

1from datetime import datetime
2
3date_string = "2023-11-07 10:30:45"
4parsed_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
5print(f"Parsed date and time: {parsed_date}")
  • এই কোডটি তারিখ হিসেবে স্ট্রিংকে strptime() ব্যবহার করে datetime অবজেক্টে রূপান্তর করে এবং দেখায়।

তারিখের গাণিতিক গণনা

তারিখের গাণিতিক হিসাব নিম্নরূপে করা যায়।

 1from datetime import datetime, timedelta
 2
 3now = datetime.now()
 4
 5# Date for one day later
 6tomorrow = now + timedelta(days=1)
 7print(f"Date for one day later: {tomorrow}")
 8
 9# Date for one week ago
10last_week = now - timedelta(weeks=1)
11print(f"Date for one week ago: {last_week}")
12
13# Time for two hours later
14in_two_hours = now + timedelta(hours=2)
15print(f"Time for two hours later: {in_two_hours}")
  • এই কোডটি timedelta ব্যবহার করে বর্তমান তারিখ ও সময় থেকে দিন ও সময় যোগ বা বিয়োগ করে, আগামীকাল, এক সপ্তাহ আগে, এবং দুই ঘণ্টা পরে তারিখ ও সময় গণনা করে এবং দেখায়।

টাইম জোন ব্যবস্থাপনা

datetime মডিউল ব্যবহার করে আপনি টাইম জোনও পরিচালনা করতে পারেন।

 1from datetime import datetime, timezone, timedelta
 2
 3# Current UTC time
 4utc_now = datetime.now(timezone.utc)
 5print(f"Current UTC time: {utc_now}")
 6
 7# JST (UTC+9)
 8jst = timezone(timedelta(hours=9))
 9jst_now = datetime.now(jst)
10print(f"Current JST time: {jst_now}")
  • datetime ডিফল্টভাবে ‘naive datetime’ (টাইম জোন তথ্য ছাড়া) ফেরত দেয়। আপনি স্পষ্টভাবে টাইম জোন পরিচালনা করতে timezone ক্লাস বা zoneinfo ব্যবহার করতে পারেন।

date ক্লাস এবং time ক্লাস

datetime মডিউল দিয়ে শুধুমাত্র তারিখ বা শুধুমাত্র সময়ও পরিচালনা করা যায়।

1from datetime import date, time
2
3d = date(2023, 11, 7)
4t = time(10, 30, 45)
5
6print(f"Date only: {d}")
7print(f"Time only: {t}")
  • date ক্লাস শুধুমাত্র তারিখ পরিচালনা করে, এবং time ক্লাস শুধুমাত্র সময় পরিচালনা করে।

datetime এবং timestamp এর মধ্যে রূপান্তর

UNIX টিমস্ট্যাম্প এবং datetime অবজেক্টের মধ্যে রূপান্তর সম্ভব। এখানে, UNIX টাইমস্ট্যাম্প মানে হল ১ জানুয়ারি, ১৯৭০ থেকে অতিক্রান্ত সেকেন্ডের সংখ্যা।

 1from datetime import datetime
 2
 3now = datetime.now()
 4
 5# datetime → timestamp
 6timestamp = now.timestamp()
 7print(f"Timestamp: {timestamp}")
 8
 9# timestamp → datetime
10restored = datetime.fromtimestamp(timestamp)
11print(f"Restored datetime: {restored}")
  • এই কোডটি বর্তমান তারিখ ও সময়কে UNIX টাইমস্ট্যাম্পে রূপান্তর করে, তারপর fromtimestamp() ফাংশন ব্যবহার করে সেই টাইমস্ট্যাম্প পুনরায় datetime অবজেক্টে রূপান্তর করে।

সাধারণ ভুল

datetime মডিউল ব্যবহার করার সময় আপনাকে নিম্নলিখিত বিষয়গুলো মনে রাখা উচিত।

  • datetime.now() টাইম জোন বিবেচনা করে না, তাই আন্তর্জাতিককরণের জন্য আপনাকে স্পষ্টভাবে timezone.utc ব্যবহার করতে হবে।
  • ফরম্যাট স্ট্রিংয়ে %m (মাস) এবং %M (মিনিট) যেন বিভ্রান্তি না হয়, সে বিষয়ে সতর্ক থাকুন।

সারসংক্ষেপ

datetime মডিউল তারিখ এবং সময় পরিচালনার জন্য আরও অনেক বৈশিষ্ট্য প্রদান করে। তদুপরি, date, time, এবং timedelta এর মতো ক্লাসও পাওয়া যায়, যা সুনির্দিষ্ট অপারেশনের জন্য বিশেষভাবে প্রস্তুত।

অন্যান্য লাইব্রেরি ব্যবহার করলে আরও উন্নত তারিখ পরিচালনাও সম্ভব হয়। উদাহরণস্বরূপ, pandas টাইম সিরিজ ডেটা পরিচালনায় বিশেষজ্ঞ, আর dateutil জটিল তারিখ পার্সিংয়ের জন্য উপযোগী। এছাড়াও, arrow লাইব্রেরিটিও খুবই উপকারী।

আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।

YouTube Video