擅长:python、mysql、java
<p>编辑:正如下面评论中指出的,当微秒值达到999500时,由于999.5四舍五入为1000(溢出),此解决方案(和上面的解决方案)的四舍五入会产生问题。</p>
<p>由于没有重新实现strftime以支持我们所需的格式(舍入导致的潜在溢出将需要传播到秒,然后是分钟等),因此仅将其截断到接受的答案中列出的前3位数字或使用类似的方法要简单得多:</p>
<p><code>'{:03}'.format(int(999999/1000))</code></p>
<p>——原答案保留在下面——</p>
<p>在我的例子中,我试图用毫秒格式化一个日期戳,格式是'ddd'。我得到毫秒的解决方案是使用<code>datetime</code>对象的<code>microsecond</code>属性,将其除以1000.0,必要时用零填充,然后用格式将其舍入。看起来是这样的:</p>
<pre><code>'{:03.0f}'.format(datetime.now().microsecond / 1000.0)
# Produces: '033', '499', etc.
</code></pre>