Lua:
দুটি তারিখ তুলনা করা
কিভাবে:
Lua-এ বিল্ট-ইন তারিখ তুলনা ফাংশন নেই, তবে আমরা os.time()
ফাংশন ব্যবহার করে তারিখগুলিকে একটি সংখ্যাসূচক ফর্ম্যাটে (epoch time) রূপান্তর করতে এবং তারপর তাদের তুলনা করতে পারি। সহজ বিষয়।
-- তারিখগুলিকে epoch time-এ রূপান্তর করুন
local date1 = os.time({year=2023, month=4, day=1})
local date2 = os.time({year=2023, month=4, day=15})
-- তারিখগুলি তুলনা করুন
if date1 > date2 then
print("Date1 হল Date2 এর চেয়ে পরে।")
elseif date1 < date2 then
print("Date1 হল Date2 এর চেয়ে আগে।")
else
print("Date1 এবং Date2 একই।")
end
এই তারিখগুলি দিয়ে চালালে মোটামুটি আউটপুট আসবে:
Date1 হল Date2 এর চেয়ে আগে।
গভীর ডুব
আগের দিনে, Lua-এ তারিখ টাইপ দিয়ে আসেনি। প্রোগ্রামাররা তারিখ-সময় অপারেশনগুলির জন্য os.time()
ফাংশনের উপর নির্ভর করেছিলেন, যা আজও ব্যবহৃত হয়। os.time()
ফাংশন যুগের (অর্থাৎ ইউনিক্স সময়, যা জানুয়ারী 1, 1970 তারিখে শুরু) থেকে সেকেন্ডে সময় ফিরিয়ে আনে। এটি কার্যকর কারণ এটি তারিখগুলিকে সংখ্যায় রূপান্তর করে, তুলনা সহজ করে তোলে।
বিকল্প হিসেবে, আপনি তারিখ টেবিলের জন্য একটি কাস্টম তুলনাকারী লিখতে পারেন, প্রতিটি ক্ষেত্র (বছর, মাস, দিন) ম্যানুয়ালি তুলনা করতে পারেন, বা LuaDate
এর মতো তৃতীয়-পক্ষের তারিখ লাইব্রেরি ব্যবহার করতে পারেন।
os.time()
ব্যবহার করার সময়, সময় অঞ্চল এবং দিবালোক সঞ্চয় পরিবর্তনের বিষয়ে সচেতন থাকুন। অন্যথা নির্দিষ্ট না করা পর্যন্ত ফাংশনটি আপনি স্থানীয় সময় প্রদান করছেন বলে ধরে নেয়।
দেখুন
- Lua 5.4 রেফারেন্স ম্যানুয়াল: https://www.lua.org/manual/5.4/
- LuaDate, একটি তারিখ এবং সময় মডিউল: https://github.com/Tieske/date
- ইউনিক্স টাইমস্ট্যাম্প বোঝার জন্য: https://en.wikipedia.org/wiki/Unix_time