如何从timedelta对象中删除微秒?

时间:2013-08-27 16:12:22

标签: python datetime format timedelta

我计算平均时间,我想显示没有微秒的结果平均值。

avg = sum(datetimes, datetime.timedelta(0)) / len(datetimes)

6 个答案:

答案 0 :(得分:26)

取timedetla并删除自己的微秒,如微秒和只读属性:

avg = sum(datetimes, datetime.timedelta(0)) / len(datetimes)
avg = avg - datetime.timedelta(microseconds=avg.microseconds)

如果是经常性的需要,你可以自己做一些小功能:

import datetime

def chop_microseconds(delta):
    return delta - datetime.timedelta(microseconds=delta.microseconds)

我还没有找到更好的解决方案。

答案 1 :(得分:21)

如果它只是用于显示,这个想法是有效的:

avgString = str(avg).split(".")[0]

这个想法只是采取前面的观点。 对于 01:23:45.1235

,它将返回 01:23:45

答案 2 :(得分:8)

另一种选择,给定timedetla你可以做到:

avg = datetime.timedelta(seconds=math.ceil(avg.total_seconds()))

您可以将math.ceil()替换为math.round()math.floor(),具体视具体情况而定。

答案 3 :(得分:2)

我发现这对我有用:

start_time = datetime.now()
some_work()
end time = datetime.now()
print str(end_time - start_time)[:-3]

输出:

0:00:01.955

我在https://docs.python.org/3.2/library/datetime.html#timedelta-objects搜索后想到了这一点

希望这会有所帮助!

答案 4 :(得分:1)

c -= timedelta(microseconds=c.microseconds)

答案 5 :(得分:0)

鉴于timedelta内部仅存储天,秒和微秒,因此您可以构建一个不带微秒的新时间增量:

<ion-content>
  <ion-grid style="width: 75%">

    <ion-radio-group [(ngModel)]="userType">
      <ion-row class="rowStyle">
        <ion-item>
          <ion-label class="radioBtn">Customer</ion-label>
          <ion-radio value="customer"></ion-radio>
        </ion-item>
        <ion-item>
          <ion-label class="radioBtn">Supplier</ion-label>
          <ion-radio value="supplier"></ion-radio>
        </ion-item>
      </ion-row>
    </ion-radio-group>

    <ion-row class="rowStyle">
      <ion-icon name="person" color="secondary"></ion-icon>
      <ion-input type="text" placeholder="Your Name" [(ngModel)]="name"></ion-input>
    </ion-row>

    <ion-row class="rowStyle">
      <ion-icon name="mail" color="secondary"></ion-icon>
      <ion-input type="email" placeholder="Your Email" [(ngModel)]="email"></ion-input>
    </ion-row>

    <ion-row class="rowStyle">
      <ion-icon name="key" color="secondary"></ion-icon>
      <ion-input type="password" placeholder="Your Password" [(ngModel)]="password"></ion-input>
    </ion-row>

    <ion-button expand="block" shape="round" fill="outline" color="light" style="margin-top: 20px;" (click)="signUp()">Sign Up</ion-button>
  </ion-grid>
</ion-content>