স্ট্রিং থেকে তারিখ পার্স করা

Fish Shell:
স্ট্রিং থেকে তারিখ পার্স করা

কিভাবে:

Fish Shell এ, স্ট্রিং থেকে তারিখ পার্স করার জন্য বিশেষভাবে নির্মিত কোনো বিল্ট-ইন কমান্ড নেই। বরং, লিনাক্স এবং macOS এ উপলভ্য date (যেমন বাহ্যিক ইউটিলিটি) ব্যবহার করা হয় অথবা জটিল পার্সিংয়ের জন্য GNU date এর মত জনপ্রিয় থার্ড-পার্টি টুলগুলির সাহায্য নেওয়া হয়। এখানে কিভাবে এগিয়ে যেতে হবে:

Fish এর সাথে date ব্যবহার করা:

“YYYY-MM-DD” ফর্ম্যাটে একটি তারিখ স্ট্রিং পার্স করতে, আপনি স্ট্রিংযুক্ত এর পরে -d (অথবা GNU date এর জন্য --date) বিকল্পটি এবং + বিকল্পটি ব্যবহার করতে পারেন যা আউটপুট ফর্ম্যাট করে।

set date_str "2023-04-01"
date -d $date_str +"%A, %d %B %Y"
# আউটপুট: শনিবার, ০১ এপ্রিল ২০২৩

macOS এর জন্য (যা -j এবং -f ফ্ল্যাগের জন্য আলাদা ফর্ম্যাটের প্রয়োজন):

set date_str "2023-04-01"
date -j -f "%Y-%m-%d" $date_str +"%A, %d %B %Y"
# আউটপুট: শনিবার, ০১ এপ্রিল ২০২৩

জটিল পার্সিংয়ের জন্য GNU date ব্যবহার করা:

GNU date স্ট্রিং ফর্ম্যাটগুলির সাথে অনেক বেশি নমনীয়। এটি অনেক সাধারণ তারিখ স্ট্রিং ফর্ম্যাট স্বয়ংক্রিয়ভাবে চিহ্নিত করতে পারে ইনপুট ফর্ম্যাটটি সুস্পষ্ট ভাবে নিদিষ্ট করা ছাড়া:

set complex_date_str "April 1, 2023 14:00"
date -d "$complex_date_str" '+%Y-%m-%d %H:%M:%S'
# আউটপুট: ২০২৩-০৪-০১ ১৪:০০:০০

তবে, যেসব তারিখ স্ট্রিংগুলি স্বয়ংক্রিয়ভাবে চিহ্নিত না হতে পারে অথবা যখন ইনপুট ফর্ম্যাটের ওপর নির্দিষ্ট নিয়ন্ত্রণ প্রয়োজন, সেই ক্ষেত্রে GNU date এর সাথে ইনপুট ফর্ম্যাট সরাসরি নির্দিষ্ট করা সমর্থিত নয়। এ ধরণের পরিস্থিতিতে, স্ট্রিংটি প্রিপ্রসেসিং করা অথবা আরও জটিল তারিখ পার্সিং রুটিনের জন্�