国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

算法 - 如何使用python計算2個毫秒級字符串的計算

瀏覽:77日期:2022-07-27 18:06:11

問題描述

比如從源頭數據可以獲得2個時間,其形式為'2017-03-09 08:51:51 615''2017-03-09 08:52:21 601'要計算前后者的時間差

自己百度搜索了很多相關內容,都無法解決這個問題,datetime不知道如何轉換毫秒,timedelta無法轉換年份因為業務的精度要求,不能省略后面的毫秒,要計算兩者的時間差。當然基本上都是同一天,但考慮到業務是24小時進行的,也不能忽略前面的日期,萬一問題正好發生在0點前后呢

問題解答

回答1:

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>>> cdatetime.timedelta(0, 29, 986000)>>> c.microseconds986000

這里c中第三個是微秒。

回答2:

2017-03-09 08:51:51轉成時間戳然后字符串連接'615',就是毫秒精度的時間戳了、兩個時間戳數值還算不出來嗎?

回答3:

時間戳是以秒為單位,所以乘以1000就是毫秒,微秒除以1000也是毫秒

# coding: utf-8from datetime import datetimeimport timeformat = ’%Y-%m-%d %H:%M:%S %f’a = datetime.strptime('2017-03-09 08:51:51 615', format)b = datetime.strptime('2017-03-09 08:52:21 601', format)t1 = time.mktime(a.timetuple()) * 1000 + a.microsecond / 1000t2 = time.mktime(b.timetuple()) * 1000 + b.microsecond / 1000print t2 - t1

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 筠连县| 大石桥市| 墨玉县| 江陵县| 霍州市| 富源县| 阿巴嘎旗| 儋州市| 慈溪市| 淮南市| 盘锦市| 奉新县| 若尔盖县| 阿拉尔市| 连云港市| 嘉义市| 武威市| 昭觉县| 临城县| 广灵县| 自治县| 炎陵县| 呼伦贝尔市| 嘉峪关市| 天峨县| 淮南市| 贡嘎县| 麻阳| 铅山县| 宜良县| 伽师县| 宁武县| 四川省| 南昌市| 墨脱县| 垣曲县| 龙南县| 迭部县| 二连浩特市| 麟游县| 肃南|