ตัวอย่างเช่นฉันมีวันที่: 4 สิงหาคม 1993 และฉันต้องการเพิ่ม 348 วันในนั้นฉันจะทำอย่างไรในการทุบตี?
ตัวอย่างเช่นฉันมีวันที่: 4 สิงหาคม 1993 และฉันต้องการเพิ่ม 348 วันในนั้นฉันจะทำอย่างไรในการทุบตี?
คำตอบ:
เพียงใช้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
%F full date; same as %Y-%m-%d
ใน bash บน Mac OS X คุณสามารถทำได้:
date -j -v +348d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d
เอาท์พุท: 1994-07-18
NEXT_DATE=$(date -j -v +$(( incrementDays ))d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d)
สำหรับคนอื่น ๆ ที่ต้องการทำเช่นนี้
นี่เป็นการใช้งานที่ซับซ้อนกว่านี้เล็กน้อย:
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
date -d "4 August 1993 348 days" +"%d %B %Y"