Как отображать миллисекунды вместо микросекунд с Django - PullRequest
1 голос
/ 10 сентября 2010

На языке шаблонов Django я могу отображать время в микросекундах, используя:

{{ player.time_to_display|time:"i:s:u" }}

Я хотел бы отображать только миллисекунды вместо полного значения микросекунды.Я не могу найти способ сделать это в документации, есть ли простой способ сделать это?

Ответы [ 4 ]

2 голосов
/ 10 сентября 2010

Нет встроенной поддержки отображения миллисекунд в Django или Python. Лучше всего было бы внедрить пользовательский фильтр, который принимает экземпляр даты и времени, и выполнять преобразование самостоятельно.

1 голос
/ 10 сентября 2010

Как насчет деления ваших микросекунд на 1000 (и, возможно, округления нового значения)?

1000 микросекунд = 1 миллисекунда.

0 голосов
/ 15 декабря 2011

Я бы не назвал это простым, но я думаю, что это даст вам то, что вы ищете.

{{ player.time_to_display|time:'i:s' }}:{{ player.time_to_display|time:'u'|add:'0'|stringformat:'06i'|slice:':3' }}
0 голосов
/ 10 сентября 2010

Попробуйте следующее:

{{ player.time_to_display|time:"i:s" }}:{{ player.time_to_display|time:"u"|slice:":3" }}

Это отделяет миллисекунды и занимает всего 3 первые буквы. Однако это не делает округления - но вам действительно нужно это при таких крошечных значениях?

...