1

我有一个 Google App Engine 日期时间属性,我用x.date = datetime.datetime.now(). 我在日期之间做了很多比较,经过多次调试,结果发现我的客户端设备发送日期的精度低于 Python 日期,这造成了可怕的混乱。

这是 Python 生成的: 2012-08-28 21:36:13.158497with datetime.datetime.now(),但我想要的是2012-08-28 21:36:13.158000(注意最后的三个零。)

我怎样才能做到这一点?(请记住,我不是要格式化字符串或任何东西。我想格式化一个日期对象。)

我想一种方法是将其格式化为具有所需精度的字符串,如下所示:

dateString = date.strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]

然后回到日期对象。但必须有更好的方法。

4

1 回答 1

4
dt = dt.replace(microsecond = (dt.microsecond / 1000) * 1000)

这将截断最后 3 位数字。正确的舍入稍微复杂一些,因为它可能会舍入到 1000000 微秒。

于 2012-08-28T23:48:36.853 回答