বাশে তারিখে একটি দিন যুক্ত করার উপায় কীভাবে?


24

উদাহরণস্বরূপ, আমার তারিখ রয়েছে: 1994 সালের 4 আগস্ট এবং আমি এটিতে 348 দিন যুক্ত করতে চাই, আমি কীভাবে ব্যাশে এটি করতে পারি?

উত্তর:


30

dateকমান্ডটি -dবিকল্প সহ ব্যবহার করুন :

$ date -d "1983-08-04 348 days"
Tue Jul 17 00:00:00 BST 1984  

আপনি চাইলে আউটপুট ফর্ম্যাটটি পরিবর্তন করতে পারেন:

$ date -d "1983-08-04 2 days" +%Y-%m-%d
1983-08-06                                           

1
আপনি ওপি'র তারিখ ফর্ম্যাটটিও ব্যবহার করতে পারেন:date -d "4 August 1993 348 days" +"%d %B %Y"
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

1
মানুষের তারিখ অনুসারে:%F full date; same as %Y-%m-%d
jperelli

12

ম্যাক ওএস এক্সে ব্যাশ করে আপনি এটি করতে পারেন:

date -j -v +348d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d

আউটপুট: 1994-07-18


1
কিছুক্ষণ এই জন্য সন্ধান করা হয়েছে। আমি প্রশংসা করি. আমি বাশ স্ক্রিপ্ট থেকে চলকটির সাথে "348" নম্বরটি প্রতিস্থাপন করতে চেয়েছিলাম। আমি NEXT_DATE=$(date -j -v +$(( incrementDays ))d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d)অন্য কারও কাছে এটি করার জন্য সন্ধান করেছি।
ইয়ান জি

1

এখানে এর আরও খানিক জটিল ব্যবহার রয়েছে:

for i in `seq 1 5`;
do;
  date -d "2014-02-01 $i days" +%Y-%m-%d;
done;

বা পাইপ সহ:

seq 1 5 | xargs -I {} date -d "2014-02-01 {} days" +%Y-%m-%d
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.