ভূমিকা
পাইথনে ডেট বা সময় সংক্রান্ত কাজ করার সময় প্রায়ই স্ট্রিং ফরম্যাটে থাকা ডেটকে ইউনিক্স টাইমস্ট্যাম্প (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 তে কনভার্ট করুন।