শেল ট্রেসটি চালু করে আপনি সমস্যাটি দেখতে পাচ্ছেন:
+ date -d 'Apr 1 2016 - 1 month' +%B
March
++ date -d 'Apr 1 2016'
+ date -d 'Fri Apr 1 00:00:00 EDT 2016 - 1 month' +%B
February
আপনি যখন অভ্যন্তরীণ dateকমান্ডের আউটপুট ব্যবহার করেন , এটি এপ্রিলের একেবারে শুরুতে হয় এবং EST / EDT পরিবর্তনের কারণে একটি মাস বিয়োগ করার সময় বিচ্ছিন্নতার দিকে চলে যায়:
+ date -d 'Fri Apr 1 00:00:00 EDT 2016 - 1 month'
Mon Feb 29 23:00:00 EST 2016
আপনার ফলাফলগুলি অবশ্যই আপনার স্থানীয় সময় অঞ্চল সেটিংস অনুযায়ী পৃথক হবে। ট্রেসটি চালু করা টাইমজোনটি দেখায় (আমার ক্ষেত্রে, EDT)।
ফলাফলগুলি পৃথক হওয়ার কারণটি হ'ল পরবর্তী ক্ষেত্রে আপনি আরও বেশি তথ্য দিয়েছেন date, এর প্যারামিটারটিকে আরও সুনির্দিষ্ট করেছেন , অর্থাত্ দিনের নির্দিষ্ট সময়। প্রথম অংশে, এটি নির্দিষ্ট করা হয়নি, প্রদর্শিত dateহওয়ার তারিখ / সময় কীভাবে নির্ধারণ করা যায় সে সম্পর্কে আরও অবকাশ দেওয়া।
March