算法 - 如何使用python计算2个毫秒级字符串的计算
高洛峰
高洛峰 2017-04-18 10:34:51
0
3
670

比如从源头数据可以获得2个时间,其形式为
"2017-03-09 08:51:51 615"
"2017-03-09 08:52:21 601"
要计算前后者的时间差

自己百度搜索了很多相关内容,都无法解决这个问题,datetime不知道如何转换毫秒,timedelta无法转换年份
因为业务的精度要求,不能省略后面的毫秒,要计算两者的时间差。当然基本上都是同一天,但考虑到业务是24小时进行的,也不能忽略前面的日期,万一问题正好发生在0点前后呢

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(3)
迷茫

datetime はミリ秒を変換でき、精度はマイクロ秒に達します。それとも私が質問を明確に理解できなかったのでしょうか?たとえば、以下に示すように、フォーマット文字 %f を使用できます。 リーリー datetime可以转换毫秒的啊,精度都达到微秒了。或者说我没理解清楚问题?比如可以使用格式符%f,如下所示:

>>> t1 = "2017-03-09 08:51:51 615"
>>> t2 = "2017-03-09 08:52:21 601"
>>> from datetime import datetime
>>> a = datetime.strptime(t1, "%Y-%m-%d %H:%M:%S %f")
>>> b = datetime.strptime(t2, "%Y-%m-%d %H:%M:%S %f")
>>> c = b - a
>>> c
datetime.timedelta(0, 29, 986000)
>>> c.microseconds
986000

这里c c の 3 番目はマイクロ秒です。

いいねを押す +0
巴扎黑

2017-03-09 08:51:51それをタイムスタンプに変換してから、ミリ秒精度のタイムスタンプである「615」に文字列を接続します。2つのタイムスタンプ値は計算できませんか?

いいねを押す +0
巴扎黑

タイムスタンプは秒単位なので、1000を掛けるとミリ秒になり、マイクロ秒を1000で割るとミリ秒になります

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート