2013-06-25 5 views
8

mogę użyć tego polecenia dużo na OS X, aby utworzyć znacznik czasu dla celów archiwalnych:Get datownik tym milisekund

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

To daje odpowiedź w następującym formacie:

20130625230005 

chciałbym aby dodać milisekundy na końcu tego ciągu. Czy można to uzyskać za pomocą Ruby z wiersza poleceń?

To niestety nie można tego zrobić na OS X, dodając coś do komendy powyżej: Add milliseconds to timestamp (bash, unix)

Odpowiedz

14

DateTime#strftime ma specyfikatora formatu %L dla milisekund:

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

Aktualizacja:, aby odebrać pytanie w komentarzu, tak, to jest możliwe. Klikając na powyższy link do dokumentacji, dla drugiej cyfry ułamkowe jest %N. Aby usunąć ostatnią cyfrę z powyższego, użyj %2N zamiast %L (%3N jest odpowiednikiem %L). Aby uzyskać tylko dekisekundy, użyj %1N.

+0

dziękuję! czy możliwe jest usunięcie jednej cyfry lub uzyskanie desisekund (myślę, że myślałem, że deciseconds były milisekundami) –

+1

@TorThommesen Nie ma za co! I tak, to jest możliwe; Zaktualizowałem swoją odpowiedź, aby wyjaśnić, w jaki sposób. –