วันนี้จะมาต่อภาคสอง โดยจะเพิ่มการแปลงรูปแบบของวันที่ และการใช้งานคำสั่ง date บน FreeBSD ซึ่งมี Syntax ต่างจากบน Linux นิดหน่อย ทั้งนี้จะไม่เขียนถึงการ set วันที่ผ่านคำสั่ง date โดยแนะนำให้ทำการ set ค่าวันและเวลาผ่าน ntpdate จะดีกว่า
หมายเหตุ อาจมีบางส่วนที่ซ้ำกับบทความเดิมนิดหน่อย
ระบบที่ใช้
OS: FreeBSD 8.2 Release amd64
OS: Ubuntu 9.10 i386
- แสดงวันเวลาปัจจุบัน
FreeBSD# date
Fri Apr 8 16:12:51 ICT 2011
komkit@Linux:~$ date
Fri Apr 8 16:13:08 ICT 2011
- แสดงวันเวลาปัจจุบันในรูปแบบของ Epoch Time
FreeBSD# date +%s
1302254637
komkit@Linux:~$ date +%s
1302254649
- แสดงวันที่ปัจจุบันในรูปแบบ YYY-MM-DD
FreeBSD# date +%F
2011-04-08
komkit@Linux:~$ date +%F
2011-04-08
- แสดงวันที่ของเมื่อวานพร้อมเวลาที่ตรงกับเวลานี้
FreeBSD# date -v-1d
Thu Apr 7 16:26:16 ICT 2011
komkit@Linux:~$ date --date="yesterday"
Thu Apr 7 16:26:55 ICT 2011
- แสดงเฉพาะวันที่ของเมื่อวานในรูปแบบ YYYY-MM-DD
FreeBSD# date -v-1d +%F
2011-04-07
komkit@Linux:~$ date --date="yesterday" +%F
2011-04-07
- แสดงเฉพาะวันที่ของ 10 วันที่แล้วในรูปแบบของ YYYY-MM-DD
FreeBSD# date -v-10d +%F
2011-03-29
komkit@Linux:~$ date --date="10 day ago" +%F
2011-03-29
- แสดงเฉพาะวันที่ของพรุ่งนี้ ในรูปแบบของ YYYY-MM-DD
FreeBSD# date -v+1d +%F
2011-04-09
komkit@moccona:~$ date --date="tomorrow" +%F
2011-04-09
- แสดงเฉพาะวันที่ของอีก 12 วันข้างหน้า ในรูปแบบของ YYYY-MM-DD
FreeBSD# date -v+12d +%F
2011-04-20
komkit@Linux:~$ date --date="12 day" +%F
2011-04-20
- การแปลงรูปแบบวันที่จาก Epoch Time เป็นแบบที่อ่านง่าย (กำหนดเวลา epoch คือ 1302254637)
komkit@Linux:~$ date -d @1302254637
Fri Apr 8 16:23:57 ICT 2011
FreeBSD# perl -e "print scalar(localtime(1302254637))"
Fri Apr 8 16:23:57 2011
- การแปลงรูปแบบวันที่จากรูปแบบ YYYY-MM-DD HH:MM:SS ไปเป็น Epoch
komkit@Linux:~$ date +%s -d"2011-04-08 12:34:56"
1302240896
FreeBSD# date -j -f '%Y-%m-%d %H:%M:%S' '2011-04-08 12:34:56' +%s
1302240896