লিনাক্স + তারিখে এক্স দিন যুক্ত করে নতুন ভার্চুয়াল তারিখ পান


115

আমার কাছে লিনাক্স (আরএইচ 5.3) মেশিন রয়েছে

আমাকে 10 দিনের যোগ তারিখ যুক্ত / গণনা করতে হবে তাই আমি নতুন তারিখ (সমাপ্তির তারিখ) পাব

উদাহরণ স্বরূপ

 # date 
 Sun Sep 11 07:59:16 IST 2012

তাই আমার পাওয়া দরকার

     NEW_expration_DATE = Sun Sep 21 07:59:16 IST 2012

নতুন মেয়াদ উত্তীর্ণের তারিখ গণনা করার জন্য দয়া করে পরামর্শ দিন (বাশ, ksh, বা তারিখ কমান্ড ম্যানিপুলেট?)

উত্তর:


158

আপনি কেবল -dস্যুইচটি ব্যবহার করতে পারেন এবং গণনার জন্য একটি তারিখ সরবরাহ করতে পারেন

date
Sun Sep 23 08:19:56 BST 2012
NEW_expration_DATE=$(date -d "+10 days")
echo $NEW_expration_DATE
Wed Oct 3 08:12:33 BST 2012 
  -d, --date=STRING
          display time described by STRING, not now

আপনি যেমন কাজ করতে পারেন এটি এটি বেশ শক্তিশালী একটি সরঞ্জাম

date -d "Sun Sep 11 07:59:16 IST 2012+10 days"
Fri Sep 21 03:29:16 BST 2012

অথবা

TZ=IST date -d "Sun Sep 11 07:59:16 IST 2012+10 days"
Fri Sep 21 07:59:16 IST 2012

অথবা

prog_end_date=`date '+%C%y%m%d' -d "$end_date+10 days"`

সুতরাং যদি $ end_date = 20131001 হয় তবে $ prog_end_date = 20131011


2
ধন্যবাদ!! আপনার উদাহরণগুলি জিএনইউ dateতথ্য পৃষ্ঠাতে থাকা উচিত !
কিউবারিক

কখনই জানতাম না যে আমি এটি করতে পারি - এটি একটি দুর্দান্ত সমাধান।
টিম বীজ

1
+1: দুর্দান্ত। দরকারী উত্তর।
তামার.হাট

1
ওএস এক্স-এ বিল্ট-ইন তারিখটি ব্যবহার করার সময় আপনি একটি ত্রুটি পাবেন। brew install coreutilsGNU এর তারিখ ফাংশন ইনস্টল করতে ব্যবহার করুন gdate,।
কাজিনকোচেন

2
কাজ করে না: $ docker run -it bash bash bash-5.0# date -d "+10 days" date: invalid date '+10 days' bash-5.0#
খ্রিস্টান বনজিওর্নো

37

আপনি "+ x দিন" ফর্ম্যাট স্ট্রিং হিসাবে ব্যবহার করতে পারেন:

$ date -d "+10 days"

20
$ date -v -1d

তারিখ কমান্ড ব্যবহার করে 1 দিনের পিছনে তারিখ পাওয়ার জন্য:

$ date -v -1d

এটি (বর্তমান তারিখ -১) অর্থ 1 দিন আগে দেবে।

$ date -v +1d

এটি (বর্তমান তারিখ +1) অর্থ 1 দিন পরে দেবে।

একইভাবে নীচে লিখিত কোডটি "d" এর জায়গায় বছর, মাস ইত্যাদির জন্য ব্যবহার করা যেতে পারে etc.

y-Year
m-Month 
w-Week 
d-Day 
H-Hour 
M-Minute  
S-Second

8
এটি আমার ম্যাকের জন্য আমার জন্য কাজ করে তবে আমাদের জেন্টু সার্ভারগুলিতে নয়।
মাইক ডটারার

গৃহীত উত্তরের চেয়ে অনেক ভাল, এটি একক লাইনে স্বেচ্ছাসেবী তারিখের ফর্ম্যাটগুলির পক্ষে অনুমতি দেয়।
পেয়ারেল

9
এটি উবুন্টু 15.10 বা রেডহ্যাট 6.6 এ কাজ করে না। আমি ধরে নিয়েছি এটি আরএইচ 5.3 এও কাজ করে না। কারণ: '-ভি' এবং '-1 ডি' 'তারিখ' এর জন্য কোনও বৈধ সুইচ নয়
সিএস

2
এটি কোনও ইউনিক্স / বিএসডি সিনট্যাক্স হিসাবে উপস্থিত বলে মনে হয় date, যা জিএনইউ'র date( gdateঅনেক বিএসডি তে) সমর্থন করে না। GNU এর dateগৃহীত উত্তরে বাক্য গঠন ব্যবহার করে। সর্বদা মনে রাখবেন: জিএনইউ'র ইউনিক্স নয়!
বেকন বিট

1
@ ব্যাকনবিটস - তবে আপনি যদি আরএমএস করেন তবে আপনি দাবি করতে পারেন কারণ অনেকগুলি জিএনইউ ইউজার কোড লিনাক্সে পোর্ট করা হয়েছে যেহেতু "লিনাক্স হ'ল জিএনইউ"। অবশ্যই, ব্যতীত, জিএনইউ হারড (এফএসএফের ওয়ানস-অ্যান্ড-ফিউচার-ওএস) সবেমাত্র একটি জিনিস। আমি মনে করি যে পিএমএসটি কীভাবে পিএমএস বন্ধ করে দিয়েছে তা হ'ল তিনি যখন সময় কাটানোর সময় ব্যয় করেছিলেন তখন লিনাস তার সময় লেখার কোডটি ব্যয় করেছিলেন - যা প্রমাণিত হয়েছে যে আপনি কার্যনির্বাহী সফ্টওয়্যার তৈরির সম্ভাবনা বেশি যা আপনি যদি কোড লেখেন তবে আপনি কোড লেখেন। :-)
বব জার্ভিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.