ฉันต้องแสดงวันที่และเวลาในรูปแบบที่ต้องการใน Unix / Linux รูปแบบที่ฉันต้องการคือ: dd / mm / yyyy hh: mm: ss: ms ใน Unix หรือ Linux ฉันเข้าใกล้โดยใช้คำสั่งต่อไปนี้:
echo $(date +%x_%r)
ผลตอบแทนนี้:
08/20/2012_02:26:14 PM
ข้อเสนอแนะใด ๆ
ฉันต้องแสดงวันที่และเวลาในรูปแบบที่ต้องการใน Unix / Linux รูปแบบที่ฉันต้องการคือ: dd / mm / yyyy hh: mm: ss: ms ใน Unix หรือ Linux ฉันเข้าใกล้โดยใช้คำสั่งต่อไปนี้:
echo $(date +%x_%r)
ผลตอบแทนนี้:
08/20/2012_02:26:14 PM
ข้อเสนอแนะใด ๆ
คำตอบ:
date +%x_%H:%M:%S:%N
หากคุณต้องการพิมพ์เพียงสองชื่อแรกเป็น ms:
date +%x_%H:%M:%S:%N | sed 's/\(:[0-9][0-9]\)[0-9]*$/\1/'
เพื่อเก็บไว้ใน var:
VAR=$(date +%x_%H:%M:%S:%N | sed 's/\(:[0-9][0-9]\)[0-9]*$/\1/')
date +'%d/%m/%Y_%H:%M:%S:%N
ยังแสดงให้เห็นด้านล่าง)
หากคุณต้องการมิลลิวินาทีแทนความแม่นยำระดับนาโนวินาทีคุณอาจใช้%3N
แทน%N
:
$ date +'%d/%m/%Y %H:%M:%S:%3N'
12/04/2014 18:36:20:659
หรือด้วยการใช้งานที่คุณต้องการ$(…)
:
$ echo "$(date +'%d/%m/%Y %H:%M:%S:%3N')"
12/04/2014 18:36:20:659
แต่ระวังว่า%N
อาจไม่ได้ขึ้นอยู่กับระบบเป้าหมายหรือเวอร์ชั่นทุบตีของคุณ ทดสอบกับระบบสมองกลฝังตัว» GNU bash, รุ่น 4.2.37 (2) - ปล่อย (arm-buildroot-linux-gnueabi) «ไม่มี%N
(ไม่ใช่ %3N
):
date +"%F %T,%N"
2014-01-08 16:44:47,%N
%N
%3N
echo "$(date +'%F %H:%M:%S:%3N') Failed" >> logfile.txt
แต่มันเขียนfile.file 08:21:02OURCE:184 Failed
ไปยังล็อกไฟล์ ฉันทำอะไรผิด?
gdate
Homebrew apple.stackexchange.com/a/135749/181223
date +"%d/%m/%Y_%H:%M:%S:%N"
การอ่านที่มีประโยชน์มากขึ้น:
วิธีจัดรูปแบบวันที่สำหรับแสดงหรือใช้ในเชลล์สคริปต์
บางสิ่งเช่นนี้
วันที่ + '% d /% m /% Y_% H:% M:% S:% N'
ใช้% N สำหรับนาโนวินาที (000000000..999999999) เนื่องจากฉันไม่พบมิลลิวินาทีในขณะนี้
คุณสามารถลอง:
echo `date +"%Y_%m_%d %H:%M:%S,"``date +%N/1000000|bc -l|grep -Eo "^([0-9]{0,3})"`
ด้วยเหตุผลบางอย่าง '' 'จะถูกละไว้ดังนั้นใส่ไว้หลังเสียงสะท้อนและท้ายที่สุดหรือเพียง:
date +"[%Y_%m_%d %H:%M:%S,%3N]"
echo
? ดูเหมือนซ้ำซ้อนคุณสามารถใช้date
โดยตรง