ในบางครั้งอาจต้องมีการเขียน shell script เพื่อให้ทำงานบางอย่างที่มีส่วนเกี่ยววันที่ เช่น สร้างไฟล์ที่มีรูปแบบชื่อไฟล์ดังนี้
file.YYYY-MM-DD.txt เช่น log.2010-08-31.txt
ซึ่งบางที ส่วนของวันที่ที่สนใจ อาจไม่ใช่วันที่ปัจจุบัน อาจเป็นเมื่อวาน หรือ 10 วันที่แล้ว หรือพรุ่งนี้ หรืออีก 10 วันข้างหน้า เป็นต้น
ถ้าเป็นการสร้างไฟล์เองโดยผู้ใช้ก็คงไม่ยาก ก็แค่พิมพ์ แต่ถ้าเป็น Cron job หล่ะ เราอาจต้องบอกให้ script ให้รู้จักการหาวันที่รูปแบบที่เราต้องการก่อน โดยในที่นี้ผมจะใช้คำสั่ง date ใน Linux
ระบบที่ใช้ทดสอบ : Ubuntu 9.10
รูปแบบปกติ
komkit@moccona:~$ date <--- คำสั่งที่ใช้
Fri Aug 6 13:35:16 ICT 2010 <--- ผลลัพธ์ที่ได้ จะเป็นวันที่และเวลาปัจจุบัน
ต้องการให้อยู่ในรูปแบบ YYYY-MM-DD
komkit@moccona:~$ date +%F <--- คำสั่งที่ใช้
2010-08-06 <--- ผลลัพธ์ที่ได้ จะเป็นวันที่ปัจจุบันในรูปแบบ YYYY-MM-DD
ต้องการวันที่เมื่อวาน ในรูปแบบ YYYY-MM-DD
komkit@moccona:~$ date --date="yesterday" +%F <--- คำสั่งที่ใช้
2010-08-05 <--- ผลลัพธ์ที่ได้ จะเป็นวันที่เมื่อวานในรูปแบบ YYYY-MM-DD
ต้องการวันที่ 10 วันที่แล้วในรูปแบบ YYYY-MM-DD
komkit@moccona:~$ date --date="10 day ago" +%F <--- คำสั่งที่ใช้
2010-07-27 <--- ผลลัพธ์ที่ได้ จะเป็นวันที่เมื่อวานในรูปแบบ YYYY-MM-DD
ต้องการวันที่วันพรุ่งนี้ ในรูปแบบ YYYY-MM-DD
komkit@moccona:~$ date --date="tomorrow" +%F <--- คำสั่งที่ใช้
2010-08-07 <--- ผลลัพธ์ที่ได้ จะเป็นวันที่พรุ่งนี้ในรูปแบบ YYYY-MM-DD
ต้องการวันที่ 10 วันข้างหน้าในรูปแบบ YYYY-MM-DD
komkit@moccona:~$ date --date="10 day" +%F <--- คำสั่งที่ใช้
2010-08-16 <--- ผลลัพธ์ที่ได้ จะเป็นวันที่พรุ่งนี้ในรูปแบบ YYYY-MM-DD
ทีนี้ก็เอาไปประยุกต์ใช้แล้วแต่ความต้องการได้เลยครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น