Bash:
দুটি তারিখ তুলনা করা
কিভাবে:
এখানে একটি সহজ উপায় দেওয়া হলো Bash এ দুটি তারিখের তুলনা করার:
date1="2023-04-01"
date2="2023-04-15"
# তারিখগুলিকে এপকের পর থেকে সেকেন্ডে রূপান্তর করুন
sec1=$(date -d "$date1" +%s)
sec2=$(date -d "$date2" +%s)
# তারিখগুলিকে তুলনা করুন
if [ $sec1 -eq $sec2 ]; then
echo "তারিখগুলো একই।"
elif [ $sec1 -lt $sec2 ]; then
echo "তারিখ $date1 হলো $date2 এর থেকে আগের।"
else
echo "তারিখ $date1 হলো $date2 এর থেকে পরের।"
fi
যদি $date2
পরের হয় তবে নমুনা আউটপুট:
তারিখ 2023-04-01 হলো 2023-04-15 এর থেকে আগের।
গভীর ডুব
ঐতিহাসিকভাবে, শেল স্ক্রিপ্টে তারিখের তুলনা করা সরাসরি সহজ ছিল না বিভিন্ন তারিখের ফরম্যাট এবং অন্তর্নির্মিত ফাংশনের অভাবের কারণে। date
কমান্ড, %s
দ্বারা তারিখগুলিকে Unix এপক (1970 সালের 1 জানুয়ারি 00:00:00 UTC) থেকে সেকেন্ডে রূপান্তর করা, এক আশীর্বাদ।
বিকল্প পদ্ধতির মধ্যে রয়েছে awk
মতো বাহ্যিক টুল ব্যবহার করা অথবা স্ট্রিং তুলনা করা – ফরম্যাট বিভিন্ন হলে এটি ঝুঁকির। বাস্তবায়নের দিক থেকে, একটি আচ্ছন্ন হচ্ছে সময় জোন নিয়ে মোকাবিলা করা: date
কমান্ডের আগে TZ=UTC
যোগ করা ইউটিসি তুলনা নিশ্চিত করে।
তারিখের অঙ্ক, যেমন তারিখের মধ্যে পার্থক্য খুঁজে বের করা, জটিল হতে পারে। দিন যোগ বা বিয়োগ করা আরও date
কৌশল দাবি করে। লিপ সেকেন্ড বা দিনের আলো সঞ্চয়ের পরিবর্তনের মতো কোণঠাসা ক্ষেত্রগুলি ত্রুটি আনতে পারে।
আরও দেখুন
date
ম্যানুয়াল পৃষ্ঠা ফরম্যাট অপশনের জন্য।- Stack Overflow কমিউনিটির জ্ঞান এবং সমস্যা সমাধানের জন্য।