python 時間戳轉換,求時間差等常見用法

1.常用的模塊

from datetime import datetime
import time
from dateutil.parser import parse

2.得到當前時間

def getCurrentTime():
    now = datetime.now()
    print(now)
    print(type(now))

結果爲

2020-05-07 09:39:02.318002
<class 'datetime.datetime'>

3.得到datetime對象

def genDateTimeObj():
    date = datetime(2020, 4, 19, 15, 30)
    print(date)
    print(type(date))
2020-04-19 15:30:00
<class 'datetime.datetime'>

4.datetime轉時間戳

def datetime_2_timestamp():
    now = datetime.now()
    now_timetuple = now.timetuple()
    now_second = time.mktime(now_timetuple)
    now_millisecond =  int (now_second * 1000 + now.microsecond / 1000)

    print(now.timestamp())
    print(now_millisecond)
1588815680.100948
1588815680100

注意如果直接用timestamp()方法得到的是一個浮點數,且時間戳是十位,單位爲秒。下面的方法得到的時間戳爲十三位,毫秒。

5.時間戳轉datetime

def timestamp_2_datetime():
    timestamp = 1588761521787 / 1000
    date = datetime.fromtimestamp(timestamp)
    print(date)
2020-05-06 18:38:41.787000

6.datetime轉字符串

def datetime_2_str():
    now = datetime.now()
    date = now.strftime('%Y-%m-%d %H:%M:%S')
    print(date)
2020-05-07 09:44:22

7.字符串轉datetime

def str_2_datetime():
    datestr = "2020-05-06 18:42:26"
    date = datetime.strptime(datestr, "%Y-%m-%d %H:%M:%S")
    print(date)
    print(type(date))
2020-05-07 09:44:22

8.求兩個時間差

def get_interview():
    t1 = "2020-05-05 23:56:45"
    t2 = "2020-05-06 00:00:31"
    date1 = parse(t1)
    date2 = parse(t2)
    result = (date2 - date1).total_seconds()
    print(result)
226.0

上面的方法,求得的是兩個時間之間差的秒數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章