2015-12-01 5 views
0

У меня есть данные времени в базе данных как временная метка unix, т. Е. 1446151150000. Я хочу проанализировать ее как hr: min: sec format for d3. Так что я делаю это так:Как получить более точные секунды в d3?

// d.localtime is unix timestamp 
data.forEach(function(d) { 
    d.localtime = parseDate(new Date(Number(d.localtime)).toString().substring(16, 24)); 
}); 

Однако я нахожу временную метку 1446151150000 и 1446151150500 имеет точно такую ​​же преобразованную строку 14:39:10. А именно, new Date(Number(1446151150000) и new Date(Number(1446151150500) точно такие же, как Thu Oct 29 2015 14:39:10 GMT-0600 (MDT) , хотя фактическое время имеет разницу в 0,5 секунды.

Вопрос: Как я могу получить более точную секунду? то есть, как сделать преобразованные строки 1446151150000 и 1446151150500 равными 14:39:10.00 и 14:39:10.50 отдельно, а не 14:39:10?

Спасибо!

ответ

0

Точность все еще существует, вы просто видите свое стандартное строковое представление даты по умолчанию. С помощью d3 вы можете настроить форматирование строк с использованием настраиваемого времени format. Конкретный, который вы ищете:

> dtFormat = d3.time.format("%a %b %e %Y %H:%M:%S.%L GMT%Z"); 
> dtFormat(new Date(1446151150500)); 
"Thu Oct 29 2015 16:39:10.500 GMT-0400" 
Смежные вопросы