我想減去string
型時間我如何計算python中的時間浮點微秒?
a = "2017-04-15 21:10:02.026"
b = "2017-10-15 10:09:57.321"
我想a-b
請別人幫我謝謝
我想減去string
型時間我如何計算python中的時間浮點微秒?
a = "2017-04-15 21:10:02.026"
b = "2017-10-15 10:09:57.321"
我想a-b
請別人幫我謝謝
你需要將它們轉換到一個datetime
:
from datetime import datetime
a = "2017-04-15 21:10:02.026"
b = "2017-10-15 10:09:57.321"
dt_a = datetime.strptime(a, "%Y-%m-%d %H:%M:%S.%f")
dt_b = datetime.strptime(b, "%Y-%m-%d %H:%M:%S.%f")
print dt_a - dt_b
這將顯示:
-183 days, 11:00:04.705000
datetime.strptime()
用於通過指定如何格式化字符串來將字符串轉換爲datetime
。每個%
都會告訴它日期/時間的每個部分在哪裏。
在你的情況下,所需要的格式如下:
%Y
- 帶世紀的年份作爲十進制數。
%m
- 月爲零填充十進制數。
%d
- 當月的一天爲零填充十進制數。
%H
- 小時(24小時制)作爲零填充十進制數。
%M
- 分鐘爲零填充的十進制數字。
%S
- 第二個作爲零填充的十進制數。
%f
- 以十進制數表示的微秒數,左側填零。
減去兩個datetime
對象會返回一個timedelta
對象。有了這個,你可以確定total_seconds()
。例如
result = dt_a - dt_b
print result.total_seconds()
根據this你可以做這樣(見鏈接的文檔中的所有%
選項:
>>> from datetime import datetime
>>> a = "2017-04-15 21:10:02.026"
>>> b = "2017-10-15 10:09:57.321"
>>> oA = datetime.strptime(a,"%Y-%m-%d %H:%M:%S.%f")
>>> oB = datetime.strptime(b,"%Y-%m-%d %H:%M:%S.%f")
>>> oA - oB
>>> datetime.timedelta(-183, 39604, 705000)
根據thistimedelta
應該返回(days, seconds, milliseconds)
這樣
使用datetime
如下:
import datetime
if __name__ == "__main__":
a = "2017-04-15 21:10:02.026"
b = "2017-10-15 10:09:57.321"
a_time = datetime.datetime.strptime(a, "%Y-%m-%d %H:%M:%S.%f")
b_time = datetime.datetime.strptime(b, "%Y-%m-%d %H:%M:%S.%f")
print (b_time - a_time).total_seconds()
b_time - a_time
創建一個timedelta
對象,它具有多個屬性,您可以在其中找到here; total_seconds
以秒爲單位返回時間差。
使用['datetime'](https://docs.python.org/2/library/datetime.html#datetime-objects)模塊。具體來說,查看'strptime'來首先創建你的'datetime'對象。 – roganjosh