Мне трудно понять, что означает эта отметка времени

Я пытался выяснить, какая метка времени принимает эту форму:

2012-07-02T21:27:41.229431

Кажется, это какое-то время Unix, но я не могу понять, что представляют собой 6 цифр после запятой.

Я предполагаю, что 21 — это часы, 27 — минуты, а 41 — секунды. Очевидно, что дальше будут миллисекунды, но кажется, что 6 цифр будут слишком высокой точностью. Может ли кто-нибудь помочь?

Кстати, это было сделано на Python, если это поможет.


person frshca    schedule 05.12.2012    source источник


Ответы (3)


Цифры после запятой - это доли секунды.

Шесть цифр представляют микросекунды, которые составляют 10 ^ -6 секунды, поэтому для представления требуется 6 цифр.

См. таблицу здесь: http://en.wikipedia.org/wiki/Metric_prefix для полного список метрических префиксов и соответствующее им количество цифр после запятой.

Точность метки времени зависит от точности часов, используемых для ее измерения. Поскольку период обратно пропорционален частоте, часы с частотой 1 кГц способны считать миллисекунды, а часы с частотой 1 МГц необходимы для микросекунд. Наносекунды требуют тактовой частоты 1 ГГц и т. д.

person ose    schedule 05.12.2012
comment
Ты был первым! -- Мне нужно подождать 7 минут... придет твое время. - person frshca; 05.12.2012
comment
ОК :), тем временем я улучшу ответ, указав тактовую частоту в ответ на ваш запрос о возможной точности. - person ose; 05.12.2012
comment
Шесть цифр представляют только микросекунды, потому что их шесть. Так же легко может быть одна цифра или 10. Это обычная десятичная дробь. В этом нет ничего особенного для формата ISO 8601. - person Mark Reed; 05.12.2012

Секунды — это обычное десятичное число, поэтому «41,229431» означает 41,229431 секунды после начала минуты. Поскольку после запятой шесть цифр, это означает, что точность метки времени в этом случае распространяется на микросекунды, но с таким же успехом цифр может быть меньше или намного больше.

person Mark Reed    schedule 05.12.2012
comment
Думаю, я не понимал, что временные метки когда-либо были такими точными. - person frshca; 05.12.2012
comment
Учитывая, что тактовая частота процессоров большинства современных компьютеров измеряется в гигагерцах (1 ГГц = один миллиард в секунду), они могут довольно надежно измерять микросекунды. - person Mark Reed; 05.12.2012

ИСО-8601

Шесть цифр после запятой — это микросекунды.

person hd1    schedule 05.12.2012