2013-06-25 36 views
8

tôi sử dụng lệnh này rất nhiều trên OS X để tạo ra một dấu thời gian cho các mục đích lưu trữ:timestamp Nhận bao gồm mili giây

date -n +%Y%m%d%H%M%S 

này đưa ra một câu trả lời ở định dạng này:

20130625230005 

Tôi muốn để thêm mili giây vào cuối chuỗi này. Có thể làm được điều đó với Ruby từ dòng lệnh không?

Đó là tiếc là không thể thực hiện điều này trên OS X bằng cách thêm một cái gì đó để lệnh trên: Add milliseconds to timestamp (bash, unix)

Trả lời

14

DateTime#strftime có specifier định dạng %L cho mili giây:

$ ruby -e "puts Time.now.strftime('%Y%m%d%H%M%S%L')" 
20130625141141827 

Cập nhật: Để trả lời câu hỏi trong bình luận của bạn, có, điều này là có thể. Nhấp vào liên kết tài liệu ở trên, có %N cho các chữ số thứ hai phân số. Để xóa chữ số cuối cùng ở trên, hãy sử dụng %2N thay vì %L (%3N tương đương với %L). Để chỉ nhận được một phần mười giây, hãy sử dụng %1N.

+0

cảm ơn! là nó có thể để loại bỏ một chữ số hoặc nhận được desiseconds (Tôi đoán tôi nghĩ rằng mili giây là mili giây) –

+1

@TorThommesen Bạn đang chào đón! Và có, đó là có thể; Tôi đã cập nhật câu trả lời của mình để giải thích cách thức. –

Các vấn đề liên quan