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

পাইথনে ডেট স্ট্রিংকে টাইমস্ট্যাম্পে রূপান্তর করা


ভূমিকা

পাইথনে ডেট বা সময় সংক্রান্ত কাজ করার সময় প্রায়ই স্ট্রিং ফরম্যাটে থাকা ডেটকে ইউনিক্স টাইমস্ট্যাম্প (Unix timestamp) এ রূপান্তর করতে হয়। ইউনিক্স টাইমস্ট্যাম্প হলো ১ জানুয়ারি ১৯৭০ (UTC) থেকে বর্তমান পর্যন্ত যাওয়া সেকেন্ডের সংখ্যা। এই নিবন্ধে time এবং datetime মডিউল ব্যবহার করে এই রূপান্তর করার পদ্ধতি দেখানো হয়েছে।

উদাহরণ কোড

import time
import datetime

my_string = "24/03/2021"
print("The date string is :")
print(my_string)
print("The timestamp is :")
# strptime দিয়ে স্ট্রিংকে datetime অবজেক্টে পার্স করা, তারপর timetuple() দিয়ে time tuple বানানো, এবং mktime দিয়ে timestamp বানানো
print(time.mktime(datetime.datetime.strptime(my_string, "%d/%m/%Y").timetuple()))

আউটপুট

The date string is : 24/03/2021
The timestamp is : 1616544000.0

ব্যাখ্যা

  • datetime.datetime.strptime(my_string, "%d/%m/%Y"): এই ফাংশনটি স্ট্রিংকে নির্দিষ্ট ফরম্যাট (%d/%m/%Y মানে দিন/মাস/বর্ষ) অনুযায়ী পার্স করে একটি datetime অবজেক্ট বানায়।

  • .timetuple(): datetime অবজেক্টকে time.struct_time (time tuple) এ রূপান্তর করে।

  • time.mktime(): time.struct_time কে লোকাল টাইমzone অনুযায়ী ইউনিক্স টাইমস্ট্যাম্প (ফ্লোটিং পয়েন্ট সংখ্যা) এ রূপান্তর করে।

  • আউটপুট 1616544000.0 হলো ২৪ মার্চ ২০২১, ০০:০০:০০ (লোকাল টাইম) এর يونিক্স টাইমস্ট্যাম্প।

সতর্কতা

time.mktime() লোকাল টাইমzone ধরে কাজ করে। আপনি যদি UTC টাইমস্ট্যাম্প চান, তবে calendar.timegm() ব্যবহার করুন বা datetime অবজেক্টকে UTC তে কনভার্ট করুন।


  1. পাইথনে ডেট স্ট্রিংকে ডেট অবজেক্টে কনভার্ট করবেন?

  2. পাইথনে স্ট্রিংকে ডিকশনারিতে রূপান্তর করা

  3. পাইথনে স্ট্রিংকে বাইনারি ফরম্যাটে রূপান্তর করা

  4. ইউনিক্স ইপক টাইম (Unix Epoch Time) বোঝা: টাইমস্ট্যাম্পকে মানব-পঠনীয় তারিখে রূপান্তর